home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Graphics Studio: Home Publishing 99 / [Microsoft Graphics Studio] Home Publishing 99 (Blue) Disk 2.iso / mhp / template / egp3088.mta / EGP3088.MTA
Text File  |  1998-08-10  |  80KB  |  2,311 lines

  1. MIME-Version: 1.0
  2. Content-Type: multipart/related;
  3.     boundary="----=_NextPart_000_0BEC_01BDBEBB.64254D90";
  4.     type="multipart/alternative"
  5. X-MMEditor: 00.00.02.1994,MinSave
  6. X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
  7.  
  8. This is a multi-part message in MIME format.
  9.  
  10. ------=_NextPart_000_0BEC_01BDBEBB.64254D90
  11. Content-Type: multipart/alternative;
  12.     boundary="----=_NextPart_001_0BED_01BDBEBB.64254D90"
  13.  
  14.  
  15. ------=_NextPart_001_0BED_01BDBEBB.64254D90
  16. Content-Type: text/plain;
  17.     charset="iso-8859-1"
  18. Content-Transfer-Encoding: 7bit
  19.  
  20.     Your Message Here.
  21.          
  22.  
  23.  
  24. ------=_NextPart_001_0BED_01BDBEBB.64254D90
  25. Content-Type: text/html;
  26.     charset="iso-8859-1"
  27. Content-Transfer-Encoding: quoted-printable
  28. Content-Location: 
  29.  
  30. <!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
  31. <HTML>
  32. <HEAD>
  33.  
  34. <META content=3D"text/html; charset=3Diso-8859-1" =
  35. http-equiv=3DContent-Type>
  36. <META content=3D"MMEditor Version 00.00.02.1994,MinSave" =
  37. name=3DGENERATOR>
  38. <STYLE id=3DDocStyleSheet>.PreCreateRule {
  39.     POSITION: absolute
  40. }
  41. .DocClientData {
  42.     LEFT: 0px; OVERFLOW: hidden; POSITION: absolute; TOP: 20px; VISIBILITY: =
  43. visible
  44. }
  45. .RuntimeScriptDiv {
  46.     LEFT: -3200px; POSITION: absolute; TOP: -3200px; VISIBILITY: hidden
  47. }
  48. .SoundElementsDiv {
  49.     LEFT: -3200px; POSITION: absolute; TOP: -3200px; VISIBILITY: hidden
  50. }
  51. .Sx19 {
  52.     HEIGHT: 301px; LEFT: 10px; OVERFLOW: hidden; POSITION: absolute; TOP: =
  53. 30px; VISIBILITY: hidden; WIDTH: 571px; Z-INDEX: 100
  54. }
  55. .Ix21 {
  56.     BACKGROUND-COLOR: #ffffff; BACKGROUND-REPEAT: no-repeat; BORDER-BOTTOM: =
  57. 0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: 0px; LEFT: 0px; =
  58. POSITION: absolute; TOP: 0px; VISIBILITY: inherit; Z-INDEX: 51
  59. }
  60. .PD20 {
  61.     BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: =
  62. 0px; HEIGHT: 300px; LEFT: 0px; POSITION: absolute; TOP: 0px; VISIBILITY: =
  63. inherit; WIDTH: 570px; Z-INDEX: 50
  64. }
  65. .PT22 {
  66.     BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: =
  67. 0px; HEIGHT: 188px; LEFT: 27px; PADDING-BOTTOM: 9px; PADDING-LEFT: 9px; =
  68. PADDING-RIGHT: 9px; PADDING-TOP: 9px; POSITION: absolute; TEXT-ALIGN: =
  69. center; TOP: 52px; VISIBILITY: hidden; WIDTH: 531px; Z-INDEX: 100
  70. }
  71. .Ix32 {
  72.     LEFT: 0px; POSITION: absolute; TOP: 0px; VISIBILITY: inherit; Z-INDEX: =
  73. 52
  74. }
  75. DIV {
  76.     FONT-FAMILY: Times New Roman
  77. }
  78. </STYLE>
  79.  
  80. <STYLE id=3DFontStyleSheet>@font-face {
  81.     font-family: Comic Sans MS;
  82.     =
  83. src:url(cid:0bea01bdbef6$1071d610$ed5d389d@superwonker.dns.microsoft.com)=
  84. ;
  85. }
  86. </STYLE>
  87.  
  88. </HEAD>
  89. <BODY background=3D"" bgColor=3D#c0c0c0 leftMargin=3D0 topMargin=3D0>
  90. <DIV class=3DPreCreateRule id=3DNavigationButtons style=3D"VISIBILITY: =
  91. hidden">
  92. <FORM name=3DNavigationButtonsForm><INPUT name=3DStart type=3Dbutton =
  93. value=3D"Play  >/Replay >"><INPUT name=3DBackward type=3Dbutton =
  94. value=3D"Back  <<"><INPUT name=3DForward type=3Dbutton value=3D"Forward  =
  95. >>"><INPUT name=3DWebpage type=3Dbutton value=3DAbout...><INPUT =
  96. name=3DSceneStatus type=3Dbutton value=3D" Loading... "></FORM></DIV>=20
  97. <DIV class=3DDocClientData id=3DDocClientData GW_NextID =3D 37 AOPTable =
  98. =3D=20
  99. " <AR|ARS1| <AP|APa{guid =
  100. {A3649D6E-5058-11CF-9E27-00AA00BBB8AF}}|APbGreetings Workshop|>|>|"=20
  101. ProjectType =3D "multimedia greeting" OutputStyle =3D "short page for =
  102. brief message"=20
  103. KeyWords =3D null skuGW =3D null skuGWDelux =3D 1 skuOE =3D null =
  104. lclEnglish =3D 1 lclZ =3D 1=20
  105. lclFrench =3D null lclJ =3D null Themes =3D=20
  106. " <AR|ARS1| =
  107. <TT|TTa5|TTb0|TTc30835|TTd5|TTe0|TTf30836|TTg5|TTh0|TTi30837|>|>|">
  108. <DIV class=3DSx19 id=3DSx19 PageName =3D PD20 SoundPaths =3D=20
  109. " <AR|ARS1| <SN| =
  110. <CP|CPa4A00000030300000000000000C000000000000640000C1000000A384F4D45435E4=
  111. D4D4C5D41494E4C5A403037343231323E2D4944400FFFFDAED00000000000000000000000=
  112. 0000000000000000000000000300000400000003000008100000010000000FFFFFFFF0000=
  113. 0000FFFFFFFF99E7000042000000420000003300000006000000060000000000000081000=
  114. 0000000000000000000000000000000000070870000C3000000|CPbD:\soundDump\j0074=
  115. 212.mid|CPccid:057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com|CPd=
  116. j0074212.mid|>|SNa0|SNb1|SNc1|SNd0|SNe0|>|>|"=20
  117. PageEffect =3D " <PE| <TR|TRa13|TRb2|TRc2|TRd1|TRe2|>|PEa0|PEb10|>|">
  118. <DIV class=3DPD20 id=3DPD20 PageName =3D Ix32 NoBackground =3D 0 =
  119. PolyPath =3D=20
  120. 1,6,0.286865,137.319,0,300,570,300,570,0,0.286865,0,0.286865,137.319,0,0,=
  121. =20
  122. ClipPathInfo =3D=20
  123. " =
  124. <CP|CPa8C00000030300000000000000C00000000000064000052000000A384F4D4540525=
  125. 54D4C5D41494E4C584D4052544942523C5A403037333838353E274946400FFFFDAED00000=
  126. 000000000000000000000000000000000000000000000D247100007F54A30D24710000000=
  127. 00004E4610000000000048F54A3080350CE5100000004E4610000007100089F54A304E461=
  128. 000000000000000784100000000CAF54A30000000000000000000000000000000000CF54A=
  129. 30000000000000000000000000000000000000000000000000|CPbX:\v3Contnt\clipmed=
  130. \mmclips\j730_739\j0073885.gif|CPccid:003501bd8e4b$034cd420$5c5a389d@emma=
  131. 2.dns.microsoft.com|CPdj0073885.gif|>|"=20
  132. CAGQueryIndx =3D 0><IMG class=3DIx32 id=3DIx32=20
  133. src=3D"cid:003501bd8e4b$034cd420$5c5a389d@emma2.dns.microsoft.com"><IMG =
  134. class=3DIx21=20
  135. id=3DIx21 name=3DIx21=20
  136. src=3D"cid:0be401bdbef6$102ba550$ed5d389d@superwonker.dns.microsoft.com">=
  137. =20
  138. </DIV> =20
  139. <DIV class=3DPT22 id=3DPT22 SoundPaths =3D " <AR|ARS0|>|" EntranceEffect =
  140. =3D=20
  141. " <EE| =
  142. <TR|TRa0|TRb2|TRc3|TRd1|TRe2|>|EEa1|EEb0|EEc0|EEd100|EEf0|EEg1|>|"=20
  143. TravelEffectOptions =3D " <TE|TEa0|TEb2|TEc0|TEd0|>|" ExitEffect =3D=20
  144. " <EE| =
  145. <TR|TRa0|TRb2|TRc2|TRd1|TRe2|>|EEa0|EEb0|EEc100|EEd0|EEf0|EEg0|>|"=20
  146. ButtonEvent =3D=20
  147. " <BE|BEa0|BEc| <CP|CPaNIL|CPb|CPc|CPd|>| <CP|CPaNIL|CPb|CPc|CPd|>| =
  148. <CP|CPaNIL|CPb|CPc|CPd|>|>|"><STRONG>
  149. <P><FONT color=3D#ff0000 face=3D"Comic Sans MS" size=3D5>Your Message=20
  150. Here.</FONT></P></STRONG></DIV></DIV></DIV>   =20
  151. <DIV class=3DSoundElementsDiv id=3DSoundElementsDiv>  <BGSOUND =
  152. id=3DAW36 soundsrc=20
  153. =3D cid:057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com> <IMG=20
  154. src=3D""></DIV> =20
  155. <DIV id=3DNavSoundElementsDiv> <EMBED hidden=3Dtrue id=3DAW36nav =
  156. name=3DAW36nav=20
  157. src=3Dcid:057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com =
  158. autostart =3D no=20
  159. MASTERSOUND></DIV>
  160. <SCRIPT id=3DRuntimeScript language=3DJavaScript>
  161. if ( navigator.appVersion.substring(0,1) < 4 )
  162.  alert("Sorry but your Web browser needs to be updated. You must have at =
  163. least a version 4.0 browser to view this project.");
  164. if ( navigator.appName !=3D "Netscape" )                                            =09
  165. {                                                                                    =09
  166.     document.body.background =3D "";                                                =09
  167.     for ( var ii=3D0; ii<document.all.length; ii++ )                                    =09
  168.         if ((document.all.item(ii).id).indexOf("Sx") !=3D -1)                        =09
  169.             document.all.item(ii).style.filter=3D"revealTrans(duration=3D0, =
  170. transition=3D0)";        =09
  171. }                                                                                    =09
  172.  
  173. var    OBJ_SCENE        =3D 0;        =09
  174. var    OBJ_PLAYER        =3D 1;        =09
  175. var PLAYER_IMAGE    =3D 0;        =09
  176. var    PLAYER_TEXT        =3D 1;        =09
  177. var PLAYER_DRAW        =3D 2;        =09
  178. var    NAME_SCENE        =3D "S"        =09
  179. var    NAME_PLAYER        =3D "P"        =09
  180. var    PLAYER_NAME_IMAGE    =3D "I"    =09
  181. var    PLAYER_NAME_TEXT    =3D "T"
  182. var PLAYER_NAME_DRAW    =3D "D"
  183. var    IE_VISIBLE            =3D "visible";
  184. var    IE_HIDDEN            =3D "hidden";
  185. var    IE_INHERIT            =3D "inherit";
  186. var    NAV_VISIBLE            =3D "show";
  187. var    NAV_HIDDEN            =3D "hide";
  188. var    NAV_INHERIT            =3D "inherit";
  189. var    DEFAULT_TICK_RATE        =3D 100;    =09
  190. var DEFAULT_SCENE_DURATION    =3D 10000;=09
  191. var    DEFAULT_PLAYER_DELAY    =3D 0;    =09
  192. var    TMR_PROJ                =3D 0;    =09
  193. var    TMR_SCENE                =3D 1;    =09
  194. var    RR_NONE                    =3D 0;    =09
  195. var    RR_PAGE_BUTTONS            =3D 1;    =09
  196. var    RR_FULL_RUNTIME            =3D 2;    =09
  197. var    DUR_FOREVER                =3D -1;    =09
  198. var    DELAY_NONE                =3D 0;    =09
  199. var    DELAY_UNTIL_TRANSITION    =3D -1;    =09
  200. var    DELAY_UNTIL_TRIGGER        =3D -2;    =09
  201. var    DUR_UNTIL_DONE            =3D -1;    =09
  202. var TT_ALL_MOUSE_EVENTS    =3D 0;    =09
  203. var    TT_BUTTONDOWN            =3D 1;    =09
  204. var    TT_BUTTONUP                =3D 2;    =09
  205. var    TT_MOUSEOVER            =3D 3;    =09
  206. var    TT_MOUSEOUT                =3D 4;    =09
  207. var    TB_PAGE_TURNER            =3D -1;    =09
  208. var    TB_START_PLAYER            =3D -2;    =09
  209. var NULL_TRANSITION            =3D -1;
  210. var    TEXT_FLYIN                =3D 101;
  211. var TEXT_TYPEWRITER        =3D 102;
  212. var    FLYIN_TOP                =3D 0;
  213. var    FLYIN_BOTTOM            =3D 1;
  214. var    FLYIN_LEFT                =3D 2;
  215. var    FLYIN_RIGHT                =3D 3;
  216. var    FLYIN_ROTATE            =3D 4;
  217. var    FLYIN_BY_LETTER            =3D 1;
  218. var    FLYIN_BY_WORD            =3D 2;
  219. var    FLYIN_BY_LINE            =3D 3;
  220. var    FLYIN_PER_TICK =3D new Array (200, 160, 120, 80, 40);    =09
  221. var    TRANSITION_RATES =3D new Array(1,2,3,4,5);            =09
  222. var    PS_UNINITIALIZED    =3D 0;
  223. var PS_INITIALIZED        =3D 1;
  224. var    PS_RUNNING            =3D 2;
  225. var PS_PAUSED            =3D 3;
  226. var PS_COMPLETE            =3D 4;
  227. var    sceneArray        =3D new Array();=09
  228. var currentScene    =3D null;        =09
  229. var nScenes            =3D 0;        =09
  230. var stProjState =3D PS_UNINITIALIZED;=09
  231. var stButtons    =3D false;        =09
  232. var    stNoInput    =3D 0;            =09
  233. var strPause =3D new Array( "" );
  234. var strPlay =3D new Array( "" );
  235. var    formStatus =3D null;
  236. var    tickTimer        =3D null;        =09
  237. var sys            =3D navigator.appName;                                    =09
  238. var vers        =3D navigator.appVersion.substring(0,1);                    =09
  239. var os            =3D navigator.appVersion.indexOf("NT") >=3D 0 ? "NT" : "95";=09
  240. var    platform    =3D navigator.platform;                                    =09
  241. window.onload =3D PreSetup;
  242. window.onerror =3D Error;
  243. function Error()
  244. {
  245.     alert("There has been an unidentified error in this file's script. You =
  246. may be able to fix this problem by refreshing your browser.");
  247.     return true;
  248. }
  249. function Project( tickRate, startScene, stopScene, rtReq, autoStart, =
  250. delay, webpage )
  251. {
  252.     this.tickRate =3D tickRate;
  253.     this.startScene =3D startScene;
  254.     this.stopScene =3D stopScene;
  255.     this.rtReq =3D rtReq;
  256.     this.autoStart =3D autoStart;
  257.     this.delay =3D delay;
  258.     this.webpage =3D webpage;
  259. }
  260. function PreSetup()
  261. {
  262.     if ( (Project.delay !=3D null) && (Project.delay !=3D 0) )        =09
  263.     {
  264.         setTimeout( "Setup();", Project.delay*1000 );=20
  265.         return;
  266.     }
  267. =09
  268.     Setup();
  269. }
  270. function Setup()=20
  271. { =20
  272.     stNoInput++;                            =09
  273.     if ( vers < 4 ) return;                    =09
  274.     if ( sys =3D=3D "Netscape" )                =09
  275.     {
  276.         document.all =3D new Array;            =09
  277.         Extract(document);                    =09
  278.     =09
  279.         document.body =3D new Object;
  280.         document.body.clientWidth =3D window.innerWidth;
  281.         document.body.clientHeight =3D window.innerHeight;
  282.         document.body.scrollTop =3D window.pageXOffset;=20
  283.         document.body.scrollLeft =3D window.pageYOffset;
  284.     }
  285.     stButtons =3D SetupButtons();                =09
  286.     ProjectInitialize();                    =09
  287.     stNoInput--;                            =09
  288.     if ( (stButtons =3D=3D false) || (Project.autoStart =3D=3D true) )=09
  289.         Start();                                            =09
  290. }
  291. function ProjectInitialize()
  292. {
  293. =09
  294.     tickTimer =3D new Timer();
  295. =09
  296. =09
  297.     InitializeScenes();
  298. =09
  299.     tickTimer.StartTicking();                            =09
  300. =09
  301.     if ( Project.startScene =3D=3D null )        =09
  302.         Project.startScene =3D 0;                =09
  303.     stProjState =3D PS_INITIALIZED;            =09
  304. =09
  305. }
  306. function ProjectStart( startScene )
  307. {
  308.     stProjState =3D PS_RUNNING;
  309.     if ( startScene !=3D null )
  310.         ChangeScene( startScene );
  311.     else
  312.         ChangeScene( Project.startScene );
  313. }
  314. function ProjectComplete()
  315. {
  316.     if ( Project.rtReq =3D=3D RR_PAGE_BUTTONS )    =09
  317.         return;                                =09
  318.     ProjectShutdown();
  319.     StatusChange();                            =09
  320. }
  321. function ProjectShutdown()
  322. {
  323.     KillTimer();                                    =09
  324.     StopEverythingOnScenes( false );
  325.     currentScene =3D null;
  326.     stProjState =3D PS_COMPLETE;                        =09
  327. }
  328. function Extract( obj )
  329. {
  330. =09
  331. =09
  332.     for (var intLayer =3D 0; intLayer< obj.layers.length; intLayer++)=09
  333.     {
  334.         var el =3D obj.layers[intLayer];        =09
  335.         document.all[el.id] =3D new Object    =09
  336.         var newEl =3D document.all[el.id];    =09
  337.     =09
  338.         newEl.id =3D el.id;                            =09
  339.         newEl.style =3D new Object;                    =09
  340.         newEl.style.pixelTop =3D parseInt(el.top);
  341.         newEl.style.pixelLeft =3D parseInt(el.left);
  342.         if (null!=3Del.clip)=20
  343.         {
  344.             newEl.offsetWidth =3D el.clip.width;    =09
  345.             newEl.offsetHeight =3D el.clip.height
  346.         }
  347.     =09
  348.         if        ( el.visibility =3D=3D NAV_HIDDEN )
  349.             newEl.style.visibility =3D IE_HIDDEN;
  350.         else if ( el.visibility =3D=3D NAV_VISIBLE )
  351.             newEl.style.visibility =3D IE_VISIBLE;
  352.         else if    ( el.visibility =3D=3D NAV_INHERIT )
  353.             newEl.style.visibility =3D IE_INHERIT;
  354.         else
  355.             newEl.style.visibility =3D "";
  356.     =09
  357.         newEl.style.zIndex =3D el.zIndex;
  358.         newEl.style.backgroundColor =3D el.bgColor;
  359.         newEl.style.backgroundImage =3D "url("+el.background+")";
  360.         newEl.NSLayer =3D el;                        =09
  361.     =09
  362.     =09
  363.     =09
  364.         for (var intLoop =3D 0; intLoop< el.document.images.length; intLoop++)
  365.         {
  366.             var image =3D el.document.images[intLoop]    =09
  367.             var    imageName =3D image.name;                =09
  368.             if ( imageName =3D=3D null )                =09
  369.                 continue;                            =09
  370.         =09
  371.             document.all[imageName] =3D image;        =09
  372.             document.images[imageName] =3D image;        =09
  373.         }
  374.     =09
  375.         for (var intLoop =3D 0; intLoop< el.document.forms.length; intLoop++)=20
  376.         {
  377.             var form =3D el.document.forms[intLoop];    =09
  378.             var formName =3D form.name;                =09
  379.             if ( formName =3D=3D null )
  380.                 continue;
  381.             document.all[formName] =3D form;            =09
  382.             document.forms[formName] =3D form;        =09
  383.         =09
  384.             for ( var innerLoop =3D 0; innerLoop < form.elements.length; =
  385. innerLoop++)
  386.             {
  387.                 var element =3D form.elements[innerLoop]=09
  388.                 var elementName =3D element.name;
  389.                 if ( elementName =3D=3D null )            =09
  390.                     continue;
  391.                 document.all[elementName] =3D element;=09
  392.             }
  393.         }
  394.         if ( el.layers.length > 0 )                =09
  395.             Extract(el)                            =09
  396.     }
  397. }
  398. function Scene( duration )
  399. {
  400.     this.duration =3D duration;
  401. }
  402. function InitializeScenes()
  403. {
  404.     var objScene;                            =09
  405.     var sceneNumber =3D 0;                    =09
  406. =09
  407.     for ( sceneName in Scenes )
  408.     {
  409.         objScene =3D Scenes[sceneName];        =09
  410.         objScene.number =3D parseInt(sceneNumber);                =09
  411.         objScene.name =3D sceneName;                    =09
  412.         objScene.HTML =3D document.all[sceneName];    =09
  413.         SetVisibility( objScene.HTML, IE_HIDDEN );=09
  414.         if ( Project.rtReq =3D=3D RR_PAGE_BUTTONS )    =09
  415.             objScene.duration =3D DUR_FOREVER;
  416.         InitializePlayers( objScene );        =09
  417.     =09
  418.         if ( objScene.entryTrans =3D=3D null )
  419.         {
  420.             objScene.entryTrans =3D new Object();
  421.             objScene.entryTrans.type =3D NULL_TRANSITION;
  422.         }
  423.     =09
  424.         if ( objScene.Bhv !=3D null )
  425.             for ( var bhvIdx=3D0; (bhv=3DobjScene.Bhv[bhvIdx]) !=3D null; =
  426. bhvIdx++ )=09
  427.                 bhv.Initialize( objScene, bhv);
  428.         objScene.numBhv =3D bhvIdx;                                            =09
  429.         sceneArray[sceneNumber++] =3D objScene;=09
  430.     }
  431.     nScenes =3D sceneNumber;                    =09
  432. }
  433. function StopEverythingOnScenes( fPause )
  434. {
  435.     var objScene;                            =09
  436.     for ( sceneName in Scenes )
  437.     {
  438.         objScene =3D Scenes[sceneName];                    =09
  439.     =09
  440.     =09
  441.         if ( objScene.Bhv !=3D null )
  442.             for ( var bhvIdx=3D0; (bhv=3DobjScene.Bhv[bhvIdx]) !=3D null; =
  443. bhvIdx++ )=09
  444.                 bhv.StopEverything( bhv, fPause );
  445.         StopEverythingOnPlayers( objScene, fPause );        =09
  446.     }
  447.     return;
  448. }
  449. function ChangeScene( nextSceneNumber )
  450. {
  451.     var    previousScene =3D currentScene;                    =09
  452.     StopSceneTimers();                                    =09
  453.     currentScene =3D GetSceneFromNumber( nextSceneNumber );=09
  454.     currentScene.previousScene =3D previousScene;            =09
  455.     if ( currentScene.duration =3D=3D null )                =09
  456.         currentScene.duration =3D DEFAULT_SCENE_DURATION;    =09
  457. =09
  458.     if ( currentScene.Bhv !=3D null )
  459.         for ( var bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
  460.         {
  461.             var bhv =3D currentScene.Bhv[bhvIdx]
  462.             if ( bhv =3D=3D null)                            =09
  463.                 continue;
  464.             var delay =3D bhv.delay
  465.             if        ( (delay =3D=3D null) || (delay =3D=3D DELAY_NONE) )=09
  466.                 bhv.Start( bhv );                                    =09
  467.             else if ( delay > 0 )                                =09
  468.                 StartOneShotTimer( bhv, bhv.delay, bhv.Start, TMR_SCENE );
  469.         }
  470.     StartScenePlayers( currentScene );                            =09
  471.     StartTransition( currentScene, currentScene.entryTrans, IE_VISIBLE, =
  472. SceneTransitionDone );=09
  473. =09
  474.     if ( currentScene.duration !=3D DUR_FOREVER )            =09
  475.         StartOneShotTimer( currentScene, currentScene.duration, SceneExit, =
  476. TMR_SCENE );
  477.     StatusChange();                                        =09
  478.     return;
  479. }
  480. function SceneTransitionDone( objScene )
  481. {
  482. =09
  483. =09
  484.     if ( currentScene.previousScene !=3D null )
  485.         SetVisibility( currentScene.previousScene.HTML, IE_HIDDEN );
  486. =09
  487.     if ( currentScene.Bhv !=3D null )
  488.         for ( bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
  489.         {
  490.             var bhv =3D currentScene.Bhv[bhvIdx]
  491.             if ( bhv =3D=3D null)                            =09
  492.                 continue;
  493.             if ( bhv.delay =3D=3D DELAY_UNTIL_TRANSITION  )=09
  494.                 bhv.Start( bhv );                                =09
  495.         }
  496.     =09
  497.     StartScenePlayersAfterTransition( currentScene );=09
  498. }
  499. function SceneExit( thisScene, nextScene )
  500. {
  501.     var nextSceneNumber =3D nextScene =3D=3D null ? currentScene.number+1 : =
  502. nextScene.number;
  503.     var finalScene =3D (nextSceneNumber <=3D Project.stopScene) ? false : =
  504. true;
  505. =09
  506. =09
  507. =09
  508.     for ( playerName in currentScene.Players )
  509.     {
  510.         objPlayer =3D currentScene.Players[playerName];        =09
  511.         PlayerExitTransitionDone( objPlayer, finalScene );    =09
  512.     }
  513. =09
  514.     if ( currentScene.Bhv !=3D null )
  515.         for ( bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
  516.         {
  517.             var bhv =3D currentScene.Bhv[bhvIdx]
  518.             if ( bhv =3D=3D null)                            =09
  519.                 continue;
  520.             if ( bhv.duration =3D=3D DUR_UNTIL_DONE  )        =09
  521.                 bhv.Stop( bhv );                        =09
  522.         }
  523. =09
  524. =09
  525.     if ( finalScene =3D=3D false )                    =09
  526.         ChangeScene( nextSceneNumber )            =09
  527.     else
  528.         ProjectComplete()                        =09
  529.     =09
  530. }
  531. function Player( delay, duration )
  532. {
  533.     this.delay =3D delay;
  534.     this.duration =3D duration;
  535. }
  536. function InitializePlayers( objScene )
  537. {
  538.     var objPlayer;                        =09
  539.     var    playerNumber =3D 0;                =09
  540.     for ( playerName in objScene.Players )
  541.     {
  542.         objPlayer =3D objScene.Players[playerName];        =09
  543.         objPlayer.number =3D playerNumber;                =09
  544.         objPlayer.name =3D playerName;                    =09
  545.         objPlayer.HTML =3D document.all[playerName];        =09
  546.         SetVisibility( objPlayer.HTML, IE_HIDDEN );        =09
  547.         objPlayer.position =3D new Position(objPlayer);    =09
  548.     =09
  549.         if ( objPlayer.delay =3D=3D null )                    =09
  550.             objPlayer.delay =3D DEFAULT_PLAYER_DELAY;        =09
  551.     =09
  552.     =09
  553.         if        ( objPlayer.entryTrans =3D=3D null )
  554.         {
  555.             objPlayer.entryTrans =3D new Object();
  556.             objPlayer.entryTrans.type =3D NULL_TRANSITION;
  557.         }=20
  558.     =09
  559.         else if ((objPlayer.entryTrans !=3D null) &&            =09
  560.             (GetPlayerTypeFromName(objPlayer.name) =3D=3D PLAYER_TEXT))
  561.         {
  562.             if ( (objPlayer.entryTrans.type =3D=3D TEXT_FLYIN) || =
  563. (objPlayer.entryTrans.type =3D=3D TEXT_TYPEWRITER) )
  564.                 if ( InitializeTextFlyin( objPlayer ) =3D=3D false )
  565.                     objPlayer.entryTrans.type =3D null;                            =09
  566.         }
  567.     =09
  568.         if ( objPlayer.exitTrans =3D=3D null )
  569.         {
  570.             objPlayer.exitTrans =3D new Object();
  571.             objPlayer.exitTrans.type =3D NULL_TRANSITION;
  572.         }
  573.     =09
  574.         if ( objPlayer.Bhv !=3D null )
  575.         {
  576.             for ( bhvIdx=3D0; (bhv=3DobjPlayer.Bhv[bhvIdx]) !=3D null; bhvIdx++ )    =
  577.  
  578.                 bhv.Initialize( objPlayer, bhv);
  579.             objPlayer.numBhv =3D bhvIdx;                                    =09
  580.         }
  581.         else
  582.             objPlayer.numBhv =3D 0;
  583.         playerNumber ++;                =09
  584.     }=09
  585. }
  586. function StopEverythingOnPlayers( objScene, fPause )
  587. {
  588.     var objPlayer;                        =09
  589.     for ( playerName in objScene.Players )
  590.     {
  591.         objPlayer =3D objScene.Players[playerName];        =09
  592.     =09
  593.     =09
  594.         if ( objPlayer.Bhv !=3D null )
  595.         {
  596.             for ( bhvIdx=3D0; (bhv=3DobjPlayer.Bhv[bhvIdx]) !=3D null; bhvIdx++ )    =
  597.  
  598.                 bhv.StopEverything( bhv, fPause );
  599.         }
  600.         DisableTrigger( objPlayer );                    =09
  601.     }=09
  602.     return;
  603. }
  604. function StartScenePlayers( objScene )
  605. {
  606. =09
  607.     for ( playerName in objScene.Players )
  608.     {
  609.         objPlayer =3D objScene.Players[playerName];        =09
  610.     =09
  611.     =09
  612.     =09
  613.         if        ( objPlayer.delay =3D=3D DELAY_NONE )        =09
  614.             StartPlayer( objPlayer )                    =09
  615.         else if ( objPlayer.delay    > 0 )                =09
  616.             StartOneShotTimer( objPlayer, objPlayer.delay, StartPlayer, =
  617. TMR_SCENE);
  618.     }
  619. }
  620. function StartScenePlayersAfterTransition( objScene )
  621. {
  622. =09
  623.     for ( playerName in objScene.Players )
  624.     {
  625.         objPlayer =3D objScene.Players[playerName];        =09
  626.         if ( objPlayer.delay =3D=3D DELAY_UNTIL_TRANSITION )=09
  627.             StartPlayer( objPlayer )                    =09
  628.     }
  629. }
  630. function StartPlayer( objPlayer )
  631. {
  632. =09
  633.     if ( objPlayer.Bhv !=3D null )
  634.         for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
  635.         {
  636.             var bhv =3D objPlayer.Bhv[bhvIdx]
  637.             if ( bhv =3D=3D null)                            =09
  638.                 continue;
  639.             var delay =3D bhv.delay
  640.             if        ( (delay =3D=3D null) || (delay =3D=3D DELAY_NONE) )=09
  641.                 bhv.Start( bhv );                                =09
  642.             else if ( delay > 0 )                                =09
  643.                 StartOneShotTimer( bhv, bhv.delay, bhv.Start, TMR_SCENE );
  644.         }
  645. =09
  646.     StartTransition( objPlayer, objPlayer.entryTrans, IE_VISIBLE, =
  647. PlayerEntryTransitionDone );
  648. =09
  649. =09
  650.     if ( objPlayer.duration > 0 )
  651.         StartOneShotTimer( objPlayer, objPlayer.duration, PlayerExit, =
  652. TMR_SCENE );                                =09
  653. }
  654. function PlayerEntryTransitionDone( objPlayer )
  655. {
  656. =09
  657.     if ( objPlayer.Bhv !=3D null )
  658.         for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
  659.         {
  660.             var bhv =3D objPlayer.Bhv[bhvIdx]
  661.             if ( bhv =3D=3D null)                            =09
  662.                 continue;
  663.             if ( bhv.delay =3D=3D DELAY_UNTIL_TRANSITION  )=09
  664.                 bhv.Start( bhv );                                =09
  665.         }
  666. =09
  667.     if ( objPlayer.Triggers !=3D null )
  668.         EnableTrigger( objPlayer );
  669. }
  670. function PlayerExit( objPlayer )
  671. {
  672. =09
  673.     StartTransition( objPlayer, objPlayer.exitTrans, IE_HIDDEN, =
  674. PlayerExitTransitionDone );
  675. }
  676. function PlayerExitTransitionDone( objPlayer, finalScene )
  677. {
  678. =09
  679.     if ( objPlayer.Bhv !=3D null )
  680.         for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
  681.         {
  682.             var bhv =3D objPlayer.Bhv[bhvIdx]
  683.             if ( bhv =3D=3D null)                            =09
  684.                 continue;
  685.             if ( bhv.duration =3D=3D DUR_UNTIL_DONE  )        =09
  686.                 bhv.Stop( bhv );                        =09
  687.         }
  688. =09
  689.     if ( (finalScene =3D=3D null) || (finalScene =3D=3D false) )
  690.         SetVisibility( objPlayer.HTML, IE_HIDDEN );        =09
  691. =09
  692. =09
  693. =09
  694.     if ( (sys !=3D "Netscape") && (objPlayer.HTML.Preview !=3D null) )
  695.         SetVisibility( objPlayer.HTML, IE_VISIBLE );=20
  696.     return;
  697. }
  698. function Trigger( trigType, trigBhv, player, scene )
  699. {
  700.     this.triggerType =3D trigType;
  701.     this.triggerBhv =3D trigBhv;
  702.     this.player =3D player;
  703.     this.nextSceneNum =3D scene;
  704. }
  705. function EnableTrigger( objPlayer )
  706. {
  707.     if ( sys !=3D "Netscape" )                                =09
  708.     {
  709.         objPlayer.HTML.style.cursor=3D"hand";                    =09
  710.         for ( trx in objPlayer.Triggers )                    =09
  711.         {
  712.             var    trigger =3D objPlayer.Triggers[trx];            =09
  713.             if ( trigger.triggerType =3D=3D null )
  714.                 trigger.triggerType =3D 0;                    =09
  715.             var tt =3D trigger.triggerType;                    =09
  716.             if            ( tt =3D=3D TT_ALL_MOUSE_EVENTS )                            =09
  717.             {
  718.                 objPlayer.HTML.onmousedown =3D EventProcessor;
  719.                 objPlayer.HTML.onmouseup =3D EventProcessor;=09
  720.                 objPlayer.HTML.onmouseover =3D EventProcessor;    =09
  721.                 objPlayer.HTML.onmouseout =3D EventProcessor;
  722.             }
  723.             else if        ( tt =3D=3D TT_BUTTONDOWN )                =09
  724.                 objPlayer.HTML.onmousedown =3D EventProcessor;
  725.             else if        ( tt =3D=3D TT_BUTTONUP )        =09
  726.                 objPlayer.HTML.onmouseup =3D EventProcessor;
  727.             else if        ( tt =3D=3D TT_MOUSEOVER )        =09
  728.                 objPlayer.HTML.onmouseover =3D EventProcessor;
  729.             else if        ( tt =3D=3D TT_MOUSEOUT )        =09
  730.                 objPlayer.HTML.onmouseout =3D EventProcessor;
  731.         }
  732.     }
  733.     else                                        =09
  734.     {
  735.         for ( trx in objPlayer.Triggers )        =09
  736.         {
  737.             var    trigger =3D objPlayer.Triggers[trx];=09
  738.             if ( trigger.triggerType =3D=3D null )
  739.                 trigger.triggerType =3D 0;                    =09
  740.             var tt =3D trigger.triggerType;                    =09
  741.             if ( tt=3D=3D 0 )                                    =09
  742.             {
  743.                 objPlayer.HTML.NSLayer.captureEvents( Event.MOUSEUP | =
  744. Event.MOUSEDOWN | Event.MOUSEOVER | Event.MOUSEOUT );
  745.                 objPlayer.HTML.NSLayer.onMouseUp =3D EventProcessor;
  746.                 objPlayer.HTML.NSLayer.onMouseDown =3D EventProcessor;
  747.                 objPlayer.HTML.NSLayer.onMouseOver =3D EventProcessor;
  748.                 objPlayer.HTML.NSLayer.onMouseOut =3D EventProcessor;
  749.             }
  750.             else if    ( tt =3D=3D TT_BUTTONUP )
  751.             {
  752.                 objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEUP);
  753.                 objPlayer.HTML.NSLayer.onMouseUp =3D EventProcessor;
  754.             }
  755.             else if ( tt =3D=3D TT_BUTTONDOWN )
  756.             {
  757.                 objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEDOWN);
  758.                 objPlayer.HTML.NSLayer.onMouseDown =3D EventProcessor;
  759.             }
  760.         }
  761.     =09
  762.     }
  763. }
  764. function DisableTrigger( objPlayer )
  765. {
  766.     if ( sys !=3D "Netscape" )            =09
  767.     {
  768.         objPlayer.HTML.onmousedown =3D null;
  769.         objPlayer.HTML.onmouseup =3D null;=09
  770.         objPlayer.HTML.onmouseover =3D null;    =09
  771.         objPlayer.HTML.onmouseout =3D null;
  772.     }
  773.     else                                =09
  774.         objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEUP | Event.MOUSEDOWN | =
  775. Event.MOUSEOVER | Event.MOUSEOUT );
  776. }
  777. function EventProcessor( e )
  778. {
  779.     var trigger;                                =09
  780.     var    type;                                    =09
  781.     var    button;                                    =09
  782.     var    eventType;                                =09
  783.     var objPlayer;                                =09
  784.     if ( (objPlayer =3D GetPlayerFromName(this.id)) =3D=3D null)=09
  785.         return;
  786.     if ( sys !=3D "Netscape" )                    =09
  787.     {
  788.         type =3D event.type;
  789.         button =3D event.button;
  790.     }
  791.     else                                        =09
  792.     {
  793.         type =3D e.type;
  794.         button =3D e.which;
  795.     }
  796. =09
  797.     if (type =3D=3D "mousedown")
  798.     {
  799.         if ( button !=3D 1 )                    =09
  800.             return;
  801.         eventType =3D TT_BUTTONDOWN;
  802.         if ( sys =3D=3D "Netscape" )            =09
  803.         {
  804.             objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEDOWN);
  805.             objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEDOWN);
  806.         }
  807.     }
  808.     else if (type =3D=3D "mouseup")
  809.     {
  810.         if ( button !=3D 1 )                    =09
  811.             return;
  812.         eventType =3D TT_BUTTONUP;
  813.         if ( sys =3D=3D "Netscape" )            =09
  814.         {
  815.             objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEUP);
  816.             objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEUP);
  817.         }
  818.     }
  819.     else if (type =3D=3D "mouseover")
  820.     {
  821.         eventType =3D TT_MOUSEOVER;
  822.     }
  823.     else if (type =3D=3D "mouseout")
  824.     {
  825.         eventType =3D TT_MOUSEOUT;
  826.     }
  827.     var triggerArray =3D objPlayer.Triggers;        =09
  828.     var trigger;                                =09
  829. =09
  830.     for ( var trx=3D0; (trigger=3DtriggerArray[trx]) !=3D null; trx++ )
  831.     {
  832.         if ( (trigger.triggerType =3D=3D 0) || (trigger.triggerType =3D=3D =
  833. eventType) )
  834.         {
  835.         =09
  836.         =09
  837.         =09
  838.             if        ( trigger.triggerBhv =3D=3D TB_PAGE_TURNER )
  839.             {
  840.             =09
  841.             =09
  842.                 if ( (trigger.nextSceneNum =3D=3D null) || (trigger.nextSceneNum =
  843. =3D=3D "") )
  844.                     SceneExit( currentScene );
  845.                 else
  846.                 {
  847.                     if ( Scenes[trigger.nextSceneNum].number < currentScene.number )
  848.                     {
  849.                         for ( ii=3D0; ii<=3DcurrentScene.number; ii++ )
  850.                             InitializePlayers( sceneArray[ii] );
  851.                     }
  852.                     SceneExit( currentScene, Scenes[trigger.nextSceneNum] );
  853.                 }
  854.             }
  855.             else if    ( trigger.triggerBhv =3D=3D TB_START_PLAYER )
  856.                 StartPlayer( GetPlayerFromName( trigger.player ) );            =09
  857.             else=20
  858.             {
  859.             =09
  860.                 var objTrigPlayer =3D GetPlayerFromName( trigger.player );    =09
  861.                 var bhv =3D objTrigPlayer.Bhv[trigger.triggerBhv];            =09
  862.                 bhv.Trigger( bhv, eventType );                                =09
  863.             }  =09
  864.         }
  865.     }
  866.     return;=09
  867. }
  868. function Transition( type, rate, flyFrom, flySubtype )
  869. {
  870.     this.type =3D type;
  871.     this.rate =3D rate;
  872.     this.flyFrom =3D flyFrom;
  873.     this.flySubtype =3D flySubtype;
  874. }
  875. function StartTransition( transObj, trans, visibility, callback )
  876. {
  877.     var    playerType =3D GetObjectTypeFromName( transObj.name );    =09
  878. =09
  879. =09
  880. =09
  881.     if    ( ("Netscape" =3D=3D sys) ||=20
  882.         ( (playerType =3D=3D OBJ_PLAYER) && (trans.type =3D=3D =
  883. NULL_TRANSITION) ) )
  884.     {
  885.         SetVisibility( transObj.HTML, visibility );
  886.         callback( transObj );
  887.         return;
  888.     }
  889. =09
  890. =09
  891. =09
  892. =09
  893.     if ( ((trans.type =3D=3D TEXT_FLYIN) || (trans.type =3D=3D =
  894. TEXT_TYPEWRITER)) && (visibility =3D=3D IE_VISIBLE) )
  895.     {
  896.         StartTextFlyin( transObj );
  897.         return;
  898.     }
  899. =09
  900.     if ( platform !=3D "Win32" )
  901.     {
  902.         SetVisibility( transObj.HTML, visibility );
  903.         callback( transObj );
  904.         return;
  905.     }
  906.     =09
  907. =09
  908. =09
  909. =09
  910. =09
  911. =09
  912.     if ( trans.type =3D=3D NULL_TRANSITION )
  913.     {
  914.         transObj.HTML.style.filter =3D "revealTrans(duration=3D0, =
  915. transition=3D0)";
  916.     }
  917.     else    =09
  918.     {
  919.         duration =3D TRANSITION_RATES[trans.rate];
  920.         transObj.HTML.style.filter =3D "revealTrans(duration=3D" + duration + =
  921. ", transition=3D" + trans.type + ")";
  922.     }
  923.     stNoInput++;                                    =09
  924.     transObj.HTML.filters(0).Apply();                =09
  925. =09
  926.     SetVisibility( transObj.HTML, visibility );        =09
  927. =09
  928.     transObj.HTML.filters(0).Play()                    =09
  929.     transObj.HTML.onfilterchange =3D TransitionDoneEvent;=09
  930. }
  931. function TransitionDoneEvent( )
  932. {
  933.     var    type =3D GetObjectTypeFromName( event.srcElement.id );    =09
  934.     stNoInput--;                                                =09
  935.     if        ( type =3D=3D OBJ_SCENE )
  936.     {
  937.     =09
  938.         if ( (currentScene !=3D null) && (event.srcElement.id =3D=3D =
  939. currentScene.name) )
  940.             SceneTransitionDone();
  941.     }
  942.     else if    ( type =3D=3D OBJ_PLAYER )        =09
  943.     {
  944.         var objPlayer =3D GetPlayerFromName( event.srcElement.id );
  945.         if ( this.style.visibility =3D=3D IE_VISIBLE )                =09
  946.             PlayerEntryTransitionDone( objPlayer ); =20
  947.         else                                                    =09
  948.             PlayerExitTransitionDone( objPlayer, false );
  949.     }
  950.     return;
  951. }
  952. function InitializeTextFlyin( objPlayer )
  953. {
  954.     if ( sys =3D=3D "Netscape" )                                    =09
  955.         return false;
  956.     var    transition =3D objPlayer.entryTrans;                        =09
  957.     var    transUnits =3D transition.flySubtype;                        =09
  958.     var    movePerTick    =3D parseInt(FLYIN_PER_TICK[transition.rate]);=09
  959. =09
  960.     var    transDirection =3D (transition.type =3D=3D TEXT_FLYIN) ? =
  961. transition.flyFrom : FLYIN_TOP;    =09
  962.     =09
  963. =09
  964.     if ( stProjState =3D=3D PS_UNINITIALIZED )
  965.     {
  966.         var    textHTML    =3D objPlayer.HTML;                =09
  967.         var    oldInnerHTML    =3D textHTML.innerHTML;        =09
  968.         var    newInnerHTML    =3D "";                        =09
  969.     =09
  970.         transition.textOrder =3D new Array();                =09
  971.         textOrder =3D transition.textOrder;                =09
  972. =09
  973.     =09
  974.     =09
  975.     =09
  976.     =09
  977.         var flyinIdx =3D 0;                        =09
  978.         var    flyinBuffer =3D "";
  979.     =09
  980.     =09
  981.     =09
  982.         var spanStyle =3D (transition.type =3D=3D TEXT_FLYIN) ? " =
  983. style=3D'position:relative;visibility:hidden;'" : " =
  984. style=3D'visibility:hidden;'";
  985.         for ( var letterIdx=3D0; letterIdx<oldInnerHTML.length; )
  986.         {
  987.         =09
  988.             tempID =3D objPlayer.name+"_tempID"+flyinIdx.toString();
  989.             newInnerHTML +=3D "<span id=3D" + tempID + spanStyle + ">";
  990.             while ( letterIdx<oldInnerHTML.length )
  991.             {
  992.             =09
  993.             =09
  994.             =09
  995.                 if ( ( (charNext =3D oldInnerHTML.substring(letterIdx, letterIdx+1)) =
  996. =3D=3D "<") || (charNext =3D=3D "&") )    =09
  997.                 {
  998.                     if ( charNext =3D=3D "<" )                                                                =09
  999.                         endTagIdx =3D oldInnerHTML.indexOf( ">", letterIdx );=09
  1000.                     else
  1001.                         endTagIdx =3D oldInnerHTML.indexOf( ";", letterIdx );=09
  1002.                     var tagString =3D oldInnerHTML.substring( letterIdx, ++endTagIdx );
  1003.                     newInnerHTML +=3D tagString;
  1004.                     letterIdx =3D endTagIdx;                                            =09
  1005.                 =09
  1006.                     if ( ((tagString =3D=3D "</P>") || (tagString =3D=3D "<BR>")) &&
  1007.                         (transUnits !=3D FLYIN_BY_LETTER)    )                                    =09
  1008.                         break;
  1009.                 }
  1010.             =09
  1011.                 else
  1012.                 {
  1013.                     thisChar =3D oldInnerHTML.substring( letterIdx, ++letterIdx );
  1014.                     newInnerHTML +=3D thisChar;
  1015.                     if        ( transUnits =3D=3D FLYIN_BY_LETTER )        =09
  1016.                         break;                                        =09
  1017.                     else if    ( (transUnits =3D=3D FLYIN_BY_WORD ) && thisChar =3D=3D " " =
  1018. )    =09
  1019.                         break;
  1020.                 }
  1021.             }
  1022.             newInnerHTML +=3D "</span>"
  1023.             textOrder[flyinIdx] =3D new Object();
  1024.             textOrder[flyinIdx].name =3D tempID;                                    =09
  1025.             flyinIdx++;                                                            =09
  1026.         }
  1027.     =09
  1028.         if ( flyinIdx =3D=3D 0 )
  1029.             return false;
  1030.     =09
  1031.         textHTML.innerHTML =3D newInnerHTML;
  1032.         transition.numUnits =3D flyinIdx;                        =09
  1033.     }
  1034. =09
  1035. =09
  1036. =09
  1037.     textOrder =3D transition.textOrder;
  1038.     var currentEl =3D document.all[textOrder[0].name];    =09
  1039.     var currentOffset =3D currentEl.offsetLeft;=09
  1040.     var previousEl, previousOffset;
  1041.     for ( var count=3D0; count<transition.numUnits; count++ )        =09
  1042.     {
  1043.         previousOffset =3D currentOffset;                            =09
  1044.         previousEl =3D currentEl;
  1045.         textElName =3D textOrder[count].name;                    =09
  1046.         currentEl =3D document.all[textElName];
  1047.         SetVisibility( currentEl, IE_HIDDEN );
  1048.         currentOffset =3D currentEl.offsetTop;
  1049.     =09
  1050.     =09
  1051.     =09
  1052.     =09
  1053.     =09
  1054.     =09
  1055.         if ( currentOffset !=3D previousOffset )                                =09
  1056.             if ( previousEl.innerHTML =3D=3D " " )                                    =09
  1057.                 previousEl.innerHTML =3D "<br>";
  1058.         if ( transDirection =3D=3D FLYIN_ROTATE )        =09
  1059.             direction =3D count % FLYIN_ROTATE;            =09
  1060.         else
  1061.             direction =3D transDirection;
  1062.     =09
  1063.         if        ( direction =3D=3D FLYIN_LEFT )
  1064.         {
  1065.             tempPos =3D -(currentEl.offsetParent.offsetLeft + =
  1066. currentEl.offsetParent.offsetWidth);
  1067.             currentEl.style.posLeft =3D tempPos;                    =09
  1068.             textOrder[count].dx =3D -movePerTick;                    =09
  1069.             textOrder[count].dy =3D 0;
  1070.             textOrder[count].iterations =3D tempPos / (-movePerTick);=09
  1071.         }
  1072.         else if ( direction =3D=3D FLYIN_RIGHT )
  1073.         {
  1074.             tempPos =3D objPlayer.HTML.parentElement.offsetWidth - =
  1075. currentEl.offsetParent.offsetLeft;
  1076.             currentEl.style.posLeft =3D tempPos;
  1077.             textOrder[count].dx =3D movePerTick;                    =09
  1078.             textOrder[count].dy =3D 0;
  1079.             textOrder[count].iterations =3D tempPos / movePerTick;=09
  1080.         }
  1081.         else if    ( direction =3D=3D FLYIN_TOP )
  1082.         {
  1083.             tempPos =3D -(currentEl.offsetParent.style.posTop + =
  1084. currentEl.offsetParent.offsetHeight);
  1085.             currentEl.style.posTop =3D tempPos;
  1086.             textOrder[count].dx =3D 0;
  1087.             textOrder[count].dy =3D (-movePerTick);                =09
  1088.             textOrder[count].iterations =3D tempPos / (-movePerTick);=09
  1089.         }
  1090.         else if ( direction =3D=3D FLYIN_BOTTOM )
  1091.         {
  1092.             tempPos =3D objPlayer.HTML.parentElement.offsetHeight - =
  1093. currentEl.offsetParent.style.posTop;
  1094.             currentEl.style.posTop =3D tempPos;
  1095.             textOrder[count].dx =3D 0;
  1096.             textOrder[count].dy =3D movePerTick;                    =09
  1097.             textOrder[count].iterations =3D tempPos / movePerTick;=09
  1098.         }
  1099.     }
  1100. =09
  1101.     transition.charIdx =3D 0;                            =09
  1102.     transition.moveIdx =3D 0;                            =09
  1103.     textElName =3D transition.textOrder[0].name;
  1104.     transition.currentEl =3D document.all[textElName];=09
  1105.     SetVisibility( transition.currentEl, IE_VISIBLE );
  1106.     return true;
  1107. }
  1108. function StartTextFlyin( objPlayer )
  1109. {
  1110. =09
  1111.     SetVisibility( objPlayer.HTML, IE_VISIBLE );
  1112.     StartAnimationTimer( objPlayer, TextFlyinTick );
  1113. }
  1114. function TextFlyinTick( objPlayer )
  1115. {
  1116.     var    transition =3D objPlayer.entryTrans;                    =09
  1117.     var    spanObj =3D transition.textOrder[transition.charIdx];    =09
  1118.     var textEl =3D transition.currentEl;                        =09
  1119. =09
  1120. =09
  1121.     if ( ++transition.moveIdx < spanObj.iterations)            =09
  1122.     {
  1123.         textEl.style.posTop -=3D spanObj.dy;                    =09
  1124.         textEl.style.posLeft -=3D spanObj.dx;
  1125.         return false;                                        =09
  1126.     }
  1127.     =09
  1128. =09
  1129.     textEl.style.posTop =3D 0;                                =09
  1130.     textEl.style.posLeft =3D 0;
  1131.     =09
  1132. =09
  1133.     if ( (charIdx =3D ++transition.charIdx) >=3D =
  1134. transition.textOrder.length )=09
  1135.     {
  1136.         PlayerEntryTransitionDone( objPlayer );                =09
  1137.         return true;                                        =09
  1138.     }
  1139.     else
  1140.     {
  1141.         transition.moveIdx =3D 0;                                =09
  1142.         textElName =3D transition.textOrder[charIdx].name;
  1143.         transition.currentEl =3D document.all[textElName];    =09
  1144.         transition.currentEl.style.visibility =3D IE_VISIBLE;    =09
  1145.         return false;                                        =09
  1146.     }                                                        =09
  1147. }
  1148. var    SND_DUR_SCENE            =3D -1;=09
  1149. var    SND_DUR_PROJECT            =3D 0;=09
  1150. var ST_WAV                    =3D 1;=09
  1151. var    ST_MID                    =3D 2;=09
  1152. var    NAV_EXT                    =3D "nav"=09
  1153. var MidiTag                    =3D null;=09
  1154. function Sound( delay, duration, loop, soundType, tagName, fileName )
  1155. {
  1156. =09
  1157.     this.Initialize =3D InitializeSound;
  1158.     this.Start =3D StartSound;
  1159.     this.Trigger =3D StartSound;
  1160.     this.Stop =3D StopSound;
  1161.     this.StopEverything =3D StopEverythingOnSounds;
  1162. =09
  1163.     this.delay =3D delay;
  1164.     this.duration =3D duration;
  1165.     this.loop =3D loop;
  1166.     this.tagName =3D tagName;
  1167.     this.fileName =3D fileName;
  1168.     this.soundType =3D soundType;
  1169. }
  1170. function InitializeSound( objParent, objSound )
  1171. {
  1172.     if ( sys =3D=3D "Netscape" )
  1173.     {
  1174.         objSound.navLoop =3D (objSound.loop =3D=3D -1) ? true : false;
  1175.         objSound.html =3D document[objSound.tagName+NAV_EXT];
  1176.         return;
  1177.     }
  1178.     objSound.objParent =3D objParent;                =09
  1179.     objSound.html =3D document.all[objSound.tagName];=09
  1180.     objSound.fileName =3D objSound.html.soundsrc;    =09
  1181. =09
  1182. =09
  1183.     if (objSound.soundType =3D=3D ST_MID )
  1184.     {
  1185.         if ( MidiTag =3D=3D null )                    =09
  1186.             MidiTag =3D objSound.html;            =09
  1187.         else
  1188.             objSound.html =3D MidiTag;            =09
  1189.     }        =09
  1190. }
  1191. function StartSound( objSound )
  1192. {
  1193.     if ( sys =3D=3D "Netscape" )                    =09
  1194.     {
  1195.         if ( objSound.html !=3D null )            =09
  1196.             objSound.html.play(objSound.navLoop);
  1197.         return;
  1198.     }
  1199.     objSound.html.src =3D objSound.fileName;        =09
  1200.     objSound.html.loop =3D objSound.loop;            =09
  1201.     if ( objSound.soundType =3D=3D ST_WAV )        =09
  1202.         objSound.html.volume =3D 0;                    =09
  1203.     if ( objSound.duration > 0 )
  1204.         StartOneShotTimer( objSound, objSound.duration, objSound.Stop, =
  1205. TMR_PROJ );
  1206. }
  1207. function StopSound( objSound, fPause )
  1208. {
  1209.     if ( sys =3D=3D "Netscape" )                    =09
  1210.     {
  1211.         if ( objSound.html !=3D null )            =09
  1212.             objSound.html.stop();
  1213.         return;
  1214.     }
  1215.     objSound.html.loop =3D 0;
  1216.     objSound.html.src =3D "";                            =09
  1217.     if ( objSound.soundType =3D=3D ST_WAV )
  1218.         objSound.html.volume =3D -10000;
  1219. }
  1220. function StopEverythingOnSounds( objSound )
  1221. {
  1222.     StopSound( objSound, true );
  1223.     if ( (sys !=3D "Netscape") && (os =3D=3D "NT") )                =09
  1224.         objSound.html.volume =3D -500;                        =09
  1225. }
  1226. var    SND_DUR_SCENE            =3D -1;=09
  1227. var    SND_DUR_PROJECT            =3D 0;=09
  1228. function Swapper( idle, hover, click )
  1229. {
  1230. =09
  1231.     this.Initialize =3D InitializeSwap;
  1232.     this.Start =3D StartSwap;
  1233.     this.Trigger =3D TriggerSwap;
  1234.     this.Stop =3D StopSwap;
  1235.     this.StopEverything =3D StopSwap;
  1236. =09
  1237.     this.idle =3D idle;
  1238.     this.hover =3D hover;
  1239.     this.click =3D click;
  1240. }
  1241. function InitializeSwap( objParent, objSwap )
  1242. {
  1243.     if ( stProjState !=3D PS_UNINITIALIZED )            =09
  1244.         return;
  1245. =09
  1246.     var    idle    =3D objSwap.idle;                        =09
  1247.     var    hover    =3D objSwap.hover;
  1248.     var    click    =3D objSwap.click;
  1249. =09
  1250. =09
  1251. =09
  1252. =09
  1253. =09
  1254. =09
  1255. =09
  1256.     if ( (hover !=3D null) && (hover !=3D "") && (document.all[hover].src =
  1257. !=3D null) )
  1258.     {
  1259.         SetVisibility( document.all[hover], IE_HIDDEN );
  1260.         objSwap.srcHover =3D document.all[hover].src;
  1261.         document.all[hover].src =3D "";
  1262.     }
  1263.     else
  1264.         objSwap.srcHover =3D document.all[idle].src;
  1265.     if ( (click !=3D null) && (click !=3D "") && (document.all[click].src =
  1266. !=3D null) )
  1267.     {
  1268.         SetVisibility( document.all[click], IE_HIDDEN );
  1269.         objSwap.srcClick =3D document.all[click].src;
  1270.         document.all[click].src =3D "";
  1271.     }
  1272.     else
  1273.         objSwap.srcClick =3D document.all[idle].src;
  1274. =09
  1275.     objSwap.srcIdle =3D document.all[idle].src;
  1276. }
  1277. function StartSwap( objSwap )
  1278. {
  1279. =09
  1280. }
  1281. function TriggerSwap( objSwap, eventType )
  1282. {
  1283.     if ( eventType =3D=3D TT_BUTTONDOWN )
  1284.         document.all[objSwap.idle].src =3D objSwap.srcClick;
  1285.     else if ( eventType =3D=3D TT_BUTTONUP )
  1286.         document.all[objSwap.idle].src =3D objSwap.srcHover;
  1287.     else if ( eventType =3D=3D TT_MOUSEOVER )
  1288.         document.all[objSwap.idle].src =3D objSwap.srcHover;
  1289.     else if ( eventType =3D=3D TT_MOUSEOUT )
  1290.         document.all[objSwap.idle].src =3D objSwap.srcIdle;
  1291.     return;
  1292. }
  1293. function StopSwap( objSwap, fPause )
  1294. {
  1295.     if ( fPause )                        =09
  1296.         return;
  1297. }
  1298. var    PATH_PER_TICK =3D new Array(50,40,30,20,10);    =09
  1299. var    PE_STOP        =3D 0;                            =09
  1300. var    PE_AGAIN    =3D 1;                            =09
  1301. var    PE_REV        =3D 2;                            =09
  1302. var    PE_EXIT        =3D 3;                            =09
  1303. var    PD_FWD        =3D 1;
  1304. var    PD_BACK        =3D -1;
  1305. function Point( x, y, rate )
  1306. {
  1307.     this.x =3D x;
  1308.     this.y =3D y;
  1309.     this.rate =3D rate;
  1310. }
  1311. function Paths( delay, edgeEffect )
  1312. {
  1313. =09
  1314.     this.Initialize =3D InitializePathAnimation;
  1315.     this.Start =3D StartPathAnimation;
  1316.     this.Trigger =3D StartPathAnimation;
  1317.     this.Stop =3D StopPathAnimation;
  1318.     this.StopEverything =3D StopPathAnimation;
  1319. =09
  1320.     this.delay =3D delay;
  1321.     this.edgeEffect =3D edgeEffect;
  1322. }
  1323. function InitializePathAnimation( objPlayer, path )
  1324. {
  1325.     var    segment;                                =09
  1326.     var pathIndex;
  1327.     var totalDistance;                            =09
  1328.     var    distanceX;                                =09
  1329.     var    distanceY;
  1330.     var dx;                                        =09
  1331.     var    dy;
  1332.     var travelTime;                                =09
  1333.     var    remX;                                    =09
  1334.     var    remY;
  1335. =09
  1336.     if ( stProjState !=3D PS_UNINITIALIZED )
  1337.     {
  1338.         objPlayer.position.SetPosition( path[0].x, path[0].y );
  1339.         return;
  1340.     }
  1341.     path.objPlayer =3D objPlayer;                    =09
  1342.     halfWidth =3D Math.floor(objPlayer.HTML.offsetWidth/2);    =09
  1343.     halfHeight =3D Math.floor(objPlayer.HTML.offsetHeight/2);
  1344. =09
  1345. =09
  1346.     path[0].x -=3D halfWidth;
  1347.     path[0].y -=3D halfHeight;
  1348.     objPlayer.position.SetPosition( path[0].x, path[0].y );
  1349.     for ( pathIndex=3D0; path[pathIndex+1] !=3D null; pathIndex++ )=09
  1350.     {
  1351.         px =3D parseInt(pathIndex);                =09
  1352.         segment =3D path[px];                        =09
  1353.     =09
  1354.     =09
  1355.     =09
  1356.         path[px+1].x -=3D halfWidth;
  1357.         path[px+1].y -=3D halfHeight;
  1358.     =09
  1359.         distanceX =3D path[px+1].x - segment.x;    =09
  1360.         distanceY =3D path[px+1].y - segment.y;    =09
  1361.     =09
  1362.         totalDistance =3D Math.sqrt( (distanceX*distanceX) + =
  1363. (distanceY*distanceY) );
  1364.     =09
  1365.     =09
  1366.         travelTime =3D Math.round(totalDistance / =
  1367. PATH_PER_TICK[segment.rate]);
  1368.     =09
  1369.     =09
  1370.         if ( distanceX > 0 )                        =09
  1371.             dx =3D Math.floor( distanceX / travelTime );=09
  1372.         else if ( distanceX < 0 )                    =09
  1373.             dx =3D Math.ceil( distanceX / travelTime );=09
  1374.         else
  1375.             dx =3D 0;
  1376.     =09
  1377.     =09
  1378.     =09
  1379.     =09
  1380.         remX =3D distanceX % travelTime;
  1381.     =09
  1382.         if ( distanceY > 0 )                        =09
  1383.             dy =3D Math.floor( distanceY / travelTime );
  1384.         else if ( distanceY < 0 )
  1385.             dy =3D Math.ceil( distanceY / travelTime );
  1386.         else
  1387.             dy =3D 0;
  1388.         remY =3D distanceY % travelTime;
  1389.         segment.number =3D px;                        =09
  1390.         segment.ticks =3D 0;
  1391.         segment.travelTime =3D travelTime;
  1392.         segment.dx =3D dx;
  1393.         segment.dy =3D dy;
  1394.         segment.remX =3D remX;
  1395.         segment.remY =3D remY;
  1396.     }
  1397.     path.numSegs =3D parseInt(pathIndex);                =09
  1398.     path.dir =3D PD_FWD;                                        =09
  1399.     return;
  1400. }
  1401. function StartPathAnimation( path )
  1402. {
  1403.     path.currentSegment =3D path[0];    =09
  1404.     path.currentSegment.ticks =3D 0;    =09
  1405.     path.cntSegs =3D 0;                                =09
  1406. =09
  1407. =09
  1408.     if ( path.dir =3D=3D PD_BACK )                            =09
  1409.     {
  1410.         for ( var ii=3D0; ii<path.numSegs; ii++ )            =09
  1411.         {
  1412.             path[ii].dx *=3D -1;
  1413.             path[ii].dy *=3D -1;
  1414.             path[ii].remX *=3D -1;
  1415.             path[ii].remY *=3D -1;
  1416.         }
  1417.         path.dir =3D PD_FWD;                                =09
  1418.     }
  1419.     StartAnimationTimer( path, PathAnimationTick );
  1420. }
  1421. function StopPathAnimation( path, fPause )
  1422. {
  1423.     return;
  1424. }
  1425. function PathAnimationTick( path )
  1426. {
  1427.     var    objPlayer =3D path.objPlayer;            =09
  1428.     var segment =3D path.currentSegment;        =09
  1429.     var    currentPosition =3D objPlayer.position;=09
  1430.     if ( ++segment.ticks <=3D segment.travelTime )    =09
  1431.     {
  1432.         newX =3D currentPosition.x + segment.dx;        =09
  1433.         if ( segment.ticks <=3D Math.abs(segment.remX) )=09
  1434.             segment.remX > 0 ? newX++ : newX--;
  1435.         newY =3D currentPosition.y + segment.dy;        =09
  1436.         if ( segment.ticks <=3D Math.abs(segment.remY) )=09
  1437.             segment.remY > 0 ? newY++ : newY--;
  1438.         currentPosition.SetPosition( newX, newY );=09
  1439.         return false;                            =09
  1440.     }
  1441. =09
  1442. =09
  1443.     if ( ++path.cntSegs < path.numSegs )
  1444.     {
  1445.     =09
  1446.         path.currentSegment =3D path[segment.number+path.dir];    =09
  1447.         path.currentSegment.ticks =3D 0;                            =09
  1448.             =09
  1449.         return false;
  1450.     }
  1451.     =09
  1452. =09
  1453.     if            ( path.edgeEffect =3D=3D PE_AGAIN )    =09
  1454.     {
  1455.     =09
  1456.         objPlayer.position.SetPosition( path[0].x, path[0].y );
  1457.     =09
  1458.         path.currentSegment =3D path[0];                =09
  1459.         path.currentSegment.ticks =3D 0;                =09
  1460.         path.cntSegs =3D 0;                            =09
  1461.         return false;                                =09
  1462.     }                        =09
  1463.     else if        ( path.edgeEffect =3D=3D PE_REV )        =09
  1464.     {
  1465.         path.dir *=3D -1;                                =09
  1466.     =09
  1467.         for ( var ii=3D0; ii<path.numSegs; ii++ )
  1468.         {
  1469.             path[ii].dx *=3D -1;
  1470.             path[ii].dy *=3D -1;
  1471.             path[ii].remX *=3D -1;
  1472.             path[ii].remY *=3D -1;
  1473.         }
  1474.         path.currentSegment.ticks =3D 0;                =09
  1475.         path.cntSegs =3D 0;                            =09
  1476.         return false;
  1477.     }
  1478.     else if        ( path.edgeEffect =3D=3D PE_EXIT )
  1479.     {
  1480.         PlayerExit( objPlayer );
  1481.         return true;
  1482.     }
  1483.     else
  1484.         return true;                                =09
  1485. }
  1486. var    GROW_PER_TICK =3D new Array(20,14,8,4,1);    =09
  1487. function Size( zoom, rate )
  1488. {
  1489.     this.zoom =3D zoom;
  1490.     this.rate =3D rate;
  1491. }
  1492. function Grows( delay )
  1493. {
  1494. =09
  1495.     this.Initialize =3D InitializeGrowAnimation;
  1496.     this.Start =3D StartGrowAnimation;
  1497.     this.Trigger =3D StartGrowAnimation;
  1498.     this.Stop =3D StopGrowAnimation;
  1499.     this.StopEverything =3D StopGrowAnimation;
  1500. =09
  1501.     this.delay =3D delay;
  1502. }
  1503. function InitializeGrowAnimation( objPlayer, grow )
  1504. {
  1505.     if ( sys =3D=3D "Netscape" )
  1506.         return;
  1507.     var    child =3D objPlayer.HTML.children[0];                    =09
  1508.     var playerType =3D GetPlayerTypeFromName( objPlayer.name );=09
  1509. =09
  1510. =09
  1511. =09
  1512.     if ( stProjState =3D=3D PS_UNINITIALIZED )
  1513.     {
  1514.         grow.realWidth =3D child.width;
  1515.         grow.realHeight =3D child.height;
  1516.     }
  1517.     if ( (playerType =3D=3D PLAYER_TEXT) || sys =3D=3D "Netscape" )=09
  1518.     {
  1519.         grow =3D null;                                        =09
  1520.         return;
  1521.     }
  1522.     grow.objPlayer =3D objPlayer;                                =09
  1523. =09
  1524.     grow.currentSegment =3D grow[0];                            =09
  1525.     grow.currentGrowth =3D grow.currentSegment.zoom;            =09
  1526. =09
  1527. =09
  1528. =09
  1529.     child.width *=3D (grow.currentSegment.zoom / 100);        =09
  1530.     child.height *=3D (grow.currentSegment.zoom / 100);
  1531. =09
  1532.     for ( var growIndex=3D0; grow[growIndex] !=3D null; growIndex++ )=09
  1533.     {
  1534.         gx =3D parseInt(growIndex);                =09
  1535.         segment =3D grow[gx];                        =09
  1536.         if ( grow[gx+1] =3D=3D null )                =09
  1537.         {
  1538.             grow.finalSegment =3D grow[gx-1];        =09
  1539.             break;                                =09
  1540.         }
  1541.     =09
  1542.         growth =3D grow[gx+1].zoom - segment.zoom;                =09
  1543.         if ( growth >=3D 0 )                                        =09
  1544.             growthFactor =3D GROW_PER_TICK[segment.rate];            =09
  1545.         else
  1546.             growthFactor =3D -(GROW_PER_TICK[segment.rate]);
  1547.     =09
  1548.         growthTicks =3D growth / growthFactor;        =09
  1549.     =09
  1550.         segment.number =3D gx;                        =09
  1551.         segment.growth =3D growth;
  1552.         segment.growthFactor =3D growthFactor;
  1553.         segment.growthTicks =3D growthTicks;
  1554.         segment.currentTicks =3D 0;
  1555.     }
  1556. }
  1557. function StartGrowAnimation( grow )
  1558. {=09
  1559.     if ( sys =3D=3D "Netscape" )
  1560.         return;
  1561.     grow.currentSegment =3D grow[0];                        =09
  1562.     grow.currentTicks =3D 0;
  1563.     StartAnimationTimer( grow, GrowAnimationTick );
  1564. }
  1565. function StopGrowAnimation( grow, fPause )
  1566. {
  1567.     return;
  1568. }
  1569. function GrowAnimationTick( grow )
  1570. {
  1571.     if ( sys =3D=3D "Netscape" )
  1572.         return true;                                    =09
  1573.     var    objPlayer =3D grow.objPlayer;                        =09
  1574.     var    child =3D objPlayer.HTML.children[0];                =09
  1575.     var segment =3D grow.currentSegment;                    =09
  1576.     grow.currentGrowth +=3D segment.growthFactor;            =09
  1577.     child.width =3D grow.realWidth*(grow.currentGrowth/100);=09
  1578.     child.height =3D grow.realHeight*(grow.currentGrowth/100);
  1579.     if ( ++grow.currentTicks <=3D segment.growthTicks )    =09
  1580.         return false;                                    =09
  1581.     if ( grow.currentSegment =3D=3D grow.finalSegment )        =09
  1582.         return true;                                    =09
  1583.     grow.currentSegment =3D grow[ segment.number+1 ];        =09
  1584.     grow.currentTicks =3D 0;
  1585.     return false;                                        =09
  1586. }
  1587. function Timer()
  1588. {
  1589.     if ( Project.tickRate =3D=3D null )        =09
  1590.         this.tickRate =3D DEFAULT_TICK_RATE;
  1591.     else
  1592.         this.tickRate =3D Project.tickRate;
  1593.     this.oneShots =3D new Array();
  1594.     this.animations =3D new Array();
  1595.     this.tickCounter =3D 0;                        =09
  1596.     this.ticksPerSecond =3D 1000 / (this.tickRate);=09
  1597.     this.timerID =3D null;
  1598.     this.StartTicking =3D StartTicking;            =09
  1599.     this.StopTicking =3D StopTicking;
  1600. =09
  1601. }
  1602. function StartTicking()
  1603. {
  1604.     if ( this.timerID =3D=3D null )
  1605.         this.timerID =3D setInterval( "TimerTick()", this.tickRate );
  1606. }
  1607. function StopTicking()
  1608. {
  1609.     if ( this.timerID !=3D null )
  1610.         clearInterval( this.timerID );
  1611.     this.timerID =3D null;
  1612. }
  1613. function TimerTick()
  1614. {
  1615.     var timerEvent;
  1616. =09
  1617.     for ( var ii=3D0; ii<tickTimer.animations.length; ii++ )    =09
  1618.     {
  1619.         if ( (timerEvent=3DtickTimer.animations[ii]) =3D=3D null )=09
  1620.             continue;                                        =09
  1621.         if ( timerEvent.callback( timerEvent.callbackObj ) =3D=3D true )=09
  1622.             tickTimer.animations[ii] =3D null;                =09
  1623.     }
  1624. =09
  1625.     if ( (++tickTimer.tickCounter % tickTimer.ticksPerSecond) =3D=3D 0 )=09
  1626.     {
  1627.     =09
  1628.         var length =3D tickTimer.oneShots.length;                =09
  1629.         for ( var ii=3D0; ii<length && (tickTimer!=3Dnull); ii++ )=09
  1630.         {
  1631.             if ( (timerEvent=3DtickTimer.oneShots[ii]) =3D=3D null )=09
  1632.                 continue;                                    =09
  1633.         =09
  1634.             if ( timerEvent.time <=3D tickTimer.tickCounter )    =09
  1635.             {
  1636.                 tickTimer.oneShots[ii] =3D null;                =09
  1637.                 timerEvent.callback( timerEvent.callbackObj );=09
  1638.             }
  1639.         }
  1640.     }
  1641.     return;
  1642. }
  1643. function StartOneShotTimer( obj, time, callback, type )
  1644. {
  1645.     var    timerIndex;                                =09
  1646.     var timerEvent =3D new Object();                =09
  1647. =09
  1648.     timerEvent.callbackObj =3D obj;                =09
  1649.     timerEvent.callback =3D callback;                =09
  1650.     timerEvent.type =3D type;                        =09
  1651. =09
  1652. =09
  1653.     timerEvent.time =3D tickTimer.tickCounter + (time * =
  1654. tickTimer.ticksPerSecond);
  1655.     for ( timerIndex=3D0; tickTimer.oneShots[timerIndex]!=3Dnull; =
  1656. timerIndex++ );=09
  1657.     tickTimer.oneShots[timerIndex] =3D timerEvent;=09
  1658.     return;
  1659. }
  1660. function StartAnimationTimer( obj, callback )
  1661. {
  1662.     var timerIndex;=20
  1663.     timerEvent =3D new Object();
  1664.     timerEvent.callbackObj =3D obj;                =09
  1665.     timerEvent.callback =3D callback;                =09
  1666.     for ( timerIndex=3D0; tickTimer.animations[timerIndex]!=3Dnull; =
  1667. timerIndex++);=09
  1668.     tickTimer.animations[timerIndex] =3D timerEvent;
  1669. }
  1670. function StopSceneTimers()
  1671. {
  1672.     for (var ii=3D0; ii<tickTimer.oneShots.length; ii++)=09
  1673.     {
  1674.         if ( tickTimer.oneShots[ii] =3D=3D null )        =09
  1675.             continue;
  1676.         if ( tickTimer.oneShots[ii].type =3D=3D TMR_SCENE )
  1677.             tickTimer.oneShots[ii] =3D null;            =09
  1678.     }
  1679. =09
  1680.     for (var ii=3D0; ii<tickTimer.animations.length; ii++)
  1681.         tickTimer.animations[ii] =3D null;
  1682. }
  1683. =09
  1684. function KillTimer()
  1685. {
  1686.     if ( tickTimer !=3D null )                    =09
  1687.     {
  1688.         window.clearTimeout( tickTimer.timerID);=09
  1689.         tickTimer =3D null;                        =09
  1690.     }
  1691. }
  1692. function SetColor(el, color)=20
  1693. {
  1694.     if ( el.style =3D=3D null )                =09
  1695.         return;
  1696. =09
  1697.     el.style.backgroundColor =3D color;    =09
  1698.     if ("Netscape"=3D=3Dsys)=20
  1699.         el.NSLayer.bgColor =3D color;        =09
  1700. }
  1701. function SetZIndex(el, zindex)=20
  1702. {
  1703.     if ( el.style =3D=3D null )                =09
  1704.         return;
  1705. =09
  1706.     el.style.zIndex =3D zindex;            =09
  1707.     if ("Netscape"=3D=3Dsys)=20
  1708.         el.NSLayer.zIndex =3D zindex        =09
  1709. }
  1710. function SetVisibility(el, val)=20
  1711. {
  1712.     if ( el.style =3D=3D null )                =09
  1713.         return;
  1714.     el.style.visibility =3D val;            =09
  1715.        =20
  1716.     if ( "Netscape"=3D=3Dsys )                =09
  1717.     {
  1718.         if        ( val =3D=3D IE_HIDDEN )
  1719.             el.NSLayer.visibility =3D NAV_HIDDEN;
  1720.         else if ( val =3D=3D IE_VISIBLE )
  1721.             el.NSLayer.visibility =3D NAV_VISIBLE;
  1722.         else if ( val =3D=3D IE_INHERIT )
  1723.             el.NSLayer.visibility =3D NAV_INHERIT;
  1724.         else
  1725.             el.NSLayer.visibility =3D "";
  1726.     }
  1727. }
  1728. function Position( obj )
  1729. {
  1730.     this.object =3D obj;                        =09
  1731.     this.x =3D obj.HTML.style.pixelLeft;        =09
  1732.     this.y =3D obj.HTML.style.pixelTop;        =09
  1733.     this.SetPosition =3D SetPosition;
  1734. }
  1735. function SetPosition( newX, newY )=20
  1736. {
  1737.     var el =3D this.object.HTML;                =09
  1738.     if ( el.style =3D=3D null )                    =09
  1739.         return;
  1740.                 =09
  1741.     el.style.pixelTop =3D newY;    =09
  1742.     el.style.pixelLeft =3D newX;
  1743.     this.x =3D newX;                            =09
  1744.     this.y =3D newY;
  1745.     if ( "Netscape"=3D=3Dsys )                    =09
  1746.     {
  1747.         el.NSLayer.top =3D parseInt( newY );
  1748.         el.NSLayer.left =3D parseInt( newX );
  1749.         el.offsetTop =3D el.NSLayer.top;
  1750.         el.offsetLeft =3D el.NSLayer.left;
  1751.     }
  1752. }
  1753. function SetContent(el, content)=20
  1754. {
  1755.     if ( el.style =3D=3D null )                    =09
  1756.         return;
  1757.     if ( "Netscape"=3D=3Dsys )                    =09
  1758.     {
  1759.         el.NSLayer.document.open();            =09
  1760.         el.NSLayer.document.write(content);    =09
  1761.         el.NSLayer.document.close();        =09
  1762.     }
  1763.     else                                    =09
  1764.         el.innerHTML=3Dcontent;
  1765. }
  1766. function SetupButtons()
  1767. {
  1768.     var rtn =3D false;                    =09
  1769.     if ( document.all.Pause !=3D null )
  1770.     {
  1771.         document.all.Pause.onclick =3D Pause;
  1772.         strPause =3D document.all.Pause.value.split( '/' );
  1773.         document.all.Pause.value =3D strPause[0];
  1774.     }
  1775.     if (document.all.Stop !=3D null )
  1776.         document.all.Stop.onclick =3D Stop;
  1777.     if ( document.all.Forward !=3D null )
  1778.         document.all.Forward.onclick =3D Forward;
  1779.     if ( document.all.Backward !=3D null )
  1780.         document.all.Backward.onclick =3D Backward;
  1781.     if ( document.all.Webpage !=3D null )
  1782.         document.all.Webpage.onclick =3D GotoWebpage;
  1783.     if ( document.all.SceneStatus !=3D null )
  1784.         formStatus =3D document.all.SceneStatus;
  1785.     if ( document.all.Start !=3D null )
  1786.     {
  1787.         document.all.Start.onclick =3D Start;
  1788.         strPlay =3D document.all.Start.value.split( '/' );
  1789.         document.all.Start.value =3D strPlay[0];
  1790.         rtn =3D true;
  1791.     }
  1792.     else
  1793.         rtn =3D false;
  1794.     if ( document.all.NavigationButtons !=3D null )
  1795.         SetVisibility( document.all.NavigationButtons, IE_VISIBLE );
  1796.     return rtn;
  1797. }
  1798. function Start()
  1799. {
  1800.     if ( stNoInput )                                    =09
  1801.         return;
  1802.     if ( stButtons =3D=3D true )                            =09
  1803.     {
  1804.         document.all.Start.value =3D strPlay[1];
  1805.         if ( document.all.Pause !=3D null )
  1806.         {
  1807.             document.all.Pause.value =3D strPause[0];
  1808.         }
  1809.     }
  1810.     if            ( (stProjState =3D=3D PS_RUNNING) || (stProjState =3D=3D =
  1811. PS_PAUSED) )=09
  1812.     {
  1813.         ProjectShutdown();
  1814.         ProjectInitialize();
  1815.     }
  1816.     else if        ( stProjState !=3D PS_INITIALIZED )    =09
  1817.         ProjectInitialize();
  1818.     ProjectStart();                                    =09
  1819. }
  1820. function Pause()
  1821. {
  1822. =09
  1823.     if ( stProjState =3D=3D PS_PAUSED )                    =09
  1824.     {
  1825.         tickTimer.StartTicking();                    =09
  1826.         if ( document.all.Pause !=3D null )
  1827.         {
  1828.             document.all.Pause.value =3D strPause[0];
  1829.         }
  1830.         stProjState =3D PS_RUNNING;
  1831.         StatusChange();                                =09
  1832.     }
  1833.     else
  1834.     {
  1835.         if ( tickTimer !=3D null )                    =09
  1836.             tickTimer.StopTicking();                =09
  1837.         if    ( stProjState !=3D PS_RUNNING )            =09
  1838.             return;
  1839.         stProjState =3D PS_PAUSED;
  1840.         if ( document.all.Pause !=3D null )
  1841.         {
  1842.             document.all.Pause.value =3D strPause[1];
  1843.         }
  1844.         StopEverythingOnScenes( true );                =09
  1845.         StatusChange();                                =09
  1846.     }
  1847. }
  1848. function Stop()
  1849. {
  1850.     if ( stNoInput )                                    =09
  1851.         return;
  1852.     location.reload();
  1853. }
  1854. function Forward()
  1855. {
  1856.     if ( stNoInput )                                    =09
  1857.         return;
  1858. =09
  1859.     if ( stProjState !=3D PS_RUNNING )
  1860.         return;
  1861.     SceneExit( currentScene );                =09
  1862. }
  1863. function Backward()
  1864. {
  1865.     if ( stNoInput )                                    =09
  1866.         return;
  1867.     var nextScene;
  1868. =09
  1869. =09
  1870. =09
  1871.     if        ( stProjState =3D=3D PS_COMPLETE )
  1872.         nextScene =3D Project.stopScene;
  1873.     else if ( stProjState !=3D PS_RUNNING )
  1874.         return;
  1875.     else
  1876.         nextScene =3D (currentScene.number =3D=3D 0) ? 0 : currentScene.number =
  1877. - 1;
  1878.     ProjectShutdown();
  1879.     ProjectInitialize();
  1880.     ProjectStart( nextScene );            =09
  1881. }
  1882. function GotoWebpage()
  1883. {
  1884.     window.open( Project.webpage);                    =09
  1885. }
  1886. function StatusChange( )
  1887. {
  1888.     var        stsPage =3D null;                =09
  1889.     var        stsState =3D null;            =09
  1890.     if        ( stProjState =3D=3D PS_UNINITIALIZED )
  1891.     {
  1892.         stsState =3D "Initializing";
  1893.         stsPage =3D ""
  1894.     }
  1895.     else if ( stProjState =3D=3D PS_INITIALIZED )
  1896.     {
  1897.         stsState =3D "Ready";
  1898.         stsPage =3D "";
  1899.     }
  1900.     else if    ( stProjState =3D=3D PS_RUNNING )
  1901.     {
  1902.         stsState =3D "Playing";
  1903.         stsPage =3D (currentScene.number+1) + " / " + nScenes;
  1904.     }
  1905.     else if    ( stProjState =3D=3D PS_PAUSED )
  1906.         stsState =3D "Paused";
  1907.     else if    ( stProjState =3D=3D PS_COMPLETE )
  1908.         stsState =3D "Complete";
  1909. =09
  1910.     if ( (formStatus !=3D null) && (stsPage !=3D null) )
  1911.         formStatus.value =3D stsPage;
  1912. =09
  1913.     if ( stsState !=3D null )
  1914.         top.status =3D stsState;=20
  1915. }
  1916. function GetSceneFromNumber( sceneNum )
  1917. {
  1918.     return sceneArray[sceneNum];    =09
  1919. }
  1920. function GetPlayerFromName( playerName )
  1921. {
  1922.     var objPlayer;
  1923. =09
  1924. =09
  1925.     if ( (currentScene) && (currentScene.Players !=3Dnull) && ((objPlayer =
  1926. =3D currentScene.Players[playerName]) !=3D null) )                                                            =09
  1927.         return objPlayer;                    =09
  1928. =09
  1929.     var objScene;
  1930.     for ( sceneName in Scenes )                    =09
  1931.     {
  1932.         objScene =3D Scenes[sceneName];
  1933.         if ( objScene.Players !=3D null )
  1934.         {
  1935.             objPlayer =3D objScene.Players[playerName];
  1936.             if ( objPlayer !=3D null )
  1937.                 return objPlayer;                    =09
  1938.         }
  1939.     }=09
  1940.         =09
  1941.     return null;                                =09
  1942. }
  1943. function GetObjectTypeFromName( nameString )
  1944. {
  1945.     var type =3D nameString.substr(0,1);    =09
  1946.     if        ( type =3D=3D NAME_SCENE )        =09
  1947.         return OBJ_SCENE;
  1948.     else if    ( type =3D=3D NAME_PLAYER )        =09
  1949.         return OBJ_PLAYER;
  1950. }
  1951. function GetPlayerTypeFromName( nameString )
  1952. {
  1953.     var type =3D nameString.substr(1,1);    =09
  1954.     if        ( type =3D=3D PLAYER_NAME_IMAGE )    =09
  1955.         return PLAYER_IMAGE;
  1956.     else if    ( type =3D=3D PLAYER_NAME_DRAW )    =09
  1957.         return PLAYER_DRAW;
  1958.     else if    ( type =3D=3D PLAYER_NAME_TEXT )    =09
  1959.         return PLAYER_TEXT;
  1960. }
  1961. function resetGifAnimation()
  1962. {
  1963.     var temp =3D document.all["img1"].src;
  1964.     document.all["img1"].src =3D temp;
  1965. }
  1966. Project =3D new Project(50, 0, 0, 2, 1, 0, =
  1967. "http://home-publishing.com/SKU/V3Pub.asp");
  1968. Scenes =3D new Object();
  1969. Scenes.Sx19 =3D new Scene( 10 );
  1970. Scenes.Sx19.entryTrans =3D new Transition( 16, 2, 0, 0 );
  1971. Scenes.Sx19.Bhv =3D new Array();
  1972. Scenes.Sx19.Bhv[0] =3D new Sound( 0, 0, -1, 2, "AW36", =
  1973. "cid:057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com" );
  1974. Scenes.Sx19.Players =3D new Object();
  1975. Scenes.Sx19.Players.PT22 =3D new Player( -1, -1 );
  1976.  
  1977. </SCRIPT>
  1978. </BODY></HTML>
  1979.  
  1980. ------=_NextPart_001_0BED_01BDBEBB.64254D90--
  1981.  
  1982. ------=_NextPart_000_0BEC_01BDBEBB.64254D90
  1983. Content-Type: image/gif
  1984. Content-Transfer-Encoding: base64
  1985. Content-ID: <003501bd8e4b$034cd420$5c5a389d@emma2.dns.microsoft.com>
  1986. X-Content-Source: X:\v3Contnt\clipmed\mmclips\j730_739\j0073885.gif
  1987. X-Global-Moniker: :HOMEPREM\MAIN\HMPRDIR2\J0073885.GIF
  1988.  
  1989. R0lGODlhOgIsAeb/AP//////zP/MzP/Mmf+ZzP+Zmf98gP9mAP9QUP8zM/8zAP8AAPj4+PHx8e/W
  1990. xurq6ufn1uPj493d3dfX18zs/8zM/8zMzMzMmcyZzMyZmcyZZsxmZsxmM8xmAMwzAMwAAMDAwLKy
  1991. sq2pkKCgpJnMzJmZzJmZmZmZZplmZplmM5lmAJkzM5kzAJkAAJaWloaGhoAAAHd3d2aZmWZmZmZm
  1992. M2YzM2YzAGYAAF9fX1VVVU1NTUJCQjk5OTMzMzMAACkpKSIiIhwcHBEREQgICAAAAAAAAAAAAAAA
  1993. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  1994. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  1995. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwA
  1996. AAAAOgIsAUAH/4AUgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGcHgqlpqeoCiyikqSp
  1997. r6WrrJCusKmys461tqe4uYy7vLG/usKovsSJwcLIyYfLvM3OkSgf1tfY1jc/jRrGBwoumtXZ5dvd
  1998. 3+Hj5ebcjN7C4OKZ5OzX5+/p85j19h/4i+DxkrfOnzZ3AfUVNAhQkUBbBOkZPIgunrpLFiY8YBDB
  1999. gqiJ2FrQaJRxY8ePIK2JJKmRo8dQKVWOZFTSJcqUK2m2PAkzZs5FNXmCivnhp6KgL4f6nAl0Z9JP
  2000. RI0mSrrxwYMGWBloZWB1awMG0xRVvZp1a1etX8MmGov1q9mNaP/Bqj3EtqzWswzSzjVU1+1duHnl
  2001. 7iXUdytXwHoHDyr81qtgxRQY/3UMefHhtoZcgJAgIQIEzhImgAjxovIhzZw9gxZN2nTmzZ0/c2Zd
  2002. 2jUh1LFXj65tWxBu1bN39x70W3Zo4cMpFNfdOvny4M2H4zZMvbr169iza9/Ovbv37+DDix9Pvrz5
  2003. 8+jTq1/Pvr379/C9O5hPv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYooX4AVGjh
  2004. hRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostujiizDGKOOMNNZo44045qjjjjz26OOPQAYp5JBE
  2005. FmnkkUgmqeT/kkw26eSTUEYp5ZRUVmnllVhmqeWWXHbp5ZdghinmmGSWaeaZaKap5ppstunmm3DG
  2006. KWeTIZjgAhF45qnnnnwSwcMIcwYq6KCE2jhDDDG8EESfROQggQCQdhbBpJRW6lkDEUgwww56DjGD
  2007. CA9QisOhPxCBw6QPgABEnkIAWuirsMaKpg54BtGAAA7gqut8u+Ka66++9porZ7zqGkEPec7wwqSQ
  2008. CiuABA/kwCkRP4QQ6Z464CDrttx2y+SdeApxa7PkRpDDqslm8Oyj5LYLqQNCCIGnCyGw6+6zOIQL
  2009. AggRtCtBDOgGsW+m9z6gZwjeJqzwwjRaYMHBu+ZKLq/ASswZ/wjgEhGCA49SHLGwFb+r679EDDHE
  2010. Zs2GHOm+GVP7qAQ55LkDwzTXbDMAE+Rp7b0ChBDED0AHLfQPPPTL89FIkyvBC0S8YG8MRLhgb8rz
  2011. LcqonkGEwK+9EUCN58w3hy12t/niCUQEIXv8q8rQuvCC1z/s8Oy7aVs8AxFZgwxpDzqgAEHS9zqQ
  2012. gbx8olBDDRpssIEGiw4xAghjRy65oGWXLLXeFdeNOa4ShDAD4S40wC6wEZgwRJ5BZCAxzw4gm2cM
  2013. qwM+MQ94/qCBBjX8IEQPKNy+QQ1B5JDB5MQXP2ueU/P8wvIuuC0As0dHOy2eKJyga7MDCJA99tpD
  2014. mv33uEIgbf+w4G9fvvfdk/vCCcsvn0HtiGvQe+I0pGA1Dg4Yr//+WJ6OOhBAUNziUJCCFBAQBQc0
  2015. YA341IONye5uZnNAAWiHpx4kDViyyyCk0EUEHZArT/HbQIgI1zSRPWpVQ+CfClcYoxB0SgAoKJnJ
  2016. gpC+7L2PCIjrXQzjtygacs983QMi+IJYQyJqzwEDGMIPizjE8xFRiOlzQLI6REKp7esuoAGBCfTE
  2017. wi56cUVeK1kA3OUApl0tBRpIAZ7QGIQhaECDcIRUAQowgALI0Y50jCPg+pSDC1mNCC1YgCAXkIAH
  2018. iMB/eRoCwr7IyEa2qHDtGiL6iACE2y3wdinQQa4kaUT0bc//kwMI5RxHScpSmnKUNySCuj7ZySAy
  2019. KpALQACjhmACR9ryljUKY7Ji8DfuCWBwttPA+1LASl+SawBSzFMGTsnMZtoxhrVSF/oiiavB5SmQ
  2020. CeDgnl6Ay256c0MIegEi8fSC0YTgnFoDwfWSRoQYHA2CPxhjs6B5tXoSoQexC9wh8/QBQhYrTzow
  2021. Z8sYOKGCGvSgCE2oQhfK0IY2NDyu44EJLICuH1hgekKwwDnNqbWOygsIOVjiEz3JxCKuTW24+t7g
  2022. AMjSlqJOAHPEFQlRQEoHoHM0IPDaMt+nA2eWUpt8ikF8hkrUohr1qEhNqlKXKh5HtKwEJRjBCKBq
  2023. AqhaYF/7/0LnVNHJ1a5udAR6ekE+eYbI06kue6eMGZ6aZUZ7zlIIJ/MqxohA0zmmUpXM3ICelnnK
  2024. PJkgEs85TnR6E1jaJEc5sAGOYHlD2MQax7DOcSxzGGubwiIHEyQAYQY2YADFqWuOBPCpaOe4gUQx
  2025. r3kvcFvz3AaCq7Z2AjmgIPVUV1Io2pakUIRgBjbK297ilE/NLJsQRJuBFyxulJXD01ouY5fDUMY0
  2026. knFuXFwTXbwkBjLVRcxjFJPd51amu9OdBBGEkIE6jva86G2medM7ygHk4HCu0xMQXrCzozlAthr1
  2027. qn61lty6mnIAQOhBMw0H0PWKdk9HccpNQCIVRCBlwRNp8P8hHtwTnDAlwSZ5iieicuGpKLjCDO6w
  2028. gz+MiR4YuJka2MEO+pYDFJyYvTCOMR2fiQNaAVQHfdMeKZFpU/1y9KZ58i96S4UnD7YXBWrVU4tH
  2029. i2BqgKQhiXgILCLCjycjxCEKkchEoIwIKb+Cypfohz24fAgvpwLMlhAzO8hsCDOjAs2VUHM7ClGA
  2030. F/xggXoSsowLgEAEhnbPgA60M3+nJ96dVwOCRm+TgWGMXrgGGraQxlwgDQtJq4XSr7B0WDB9i0c3
  2031. 2hS+SLSoYYwCIQQhYAXIAF9HLeNU6pnV7F30YWdN61rb+tZqWUApwKGAA/ja1x5IwWF13etd//oA
  2032. wR72ro3//etkJ4fYvD42soX97GX3+tjOHg60mQ1samvb2tLOdm+2fe1me9vW7FiAP2BA2b2ke93t
  2033. nsu77cFu08ybHfWuzL3LkW/I7Dsb/VbMv7ER8MEM/BoFx/ULdvADHIwgEsQepDUEiQoPLEDTlFh4
  2034. wx8OiYgLcuLENoXFMT4JjTsc4qWQeD9DXoqRe8LkHH+Ex9W98opf/OUMP3nHU/7xmp/C5Z2AOcoV
  2035. oHKK//zmQc95zB0xc5DbnOSSEPrOid5zo4sc6ZCwgHdA0YIxCwEHf3Xw1j/R9TV/PewTHrsnym6O
  2036. s09F7Z1gezZu4Haxd4frXgf72+9O9ryj3RBa5/va/b53/+7g3ex6t/tWCBEBsrTl8W15AGds03jI
  2037. W74BkpcA5R1/eaxkfvOdf/znXVP50Ht+8qTnfOdHb5rSm571lXF96GEPGdnj+va4z73ud8/73v/C
  2038. ocAPvvCHT/ziG//4yE++8pfP/OY7//nQj770p3+fb1r/+tjPvva3z/3ue//74A+/+MdP/vKb//zo
  2039. T7/618/+9rv//fCPf4xodzocqJMzdOvV0fAfAqiNk5vyF4Do5z9DIAQmoEdwJAE/AFR6Ei/1dTQR
  2040. IFvaIoAUaEtgRUk9oE5ro3+dYUhtpSc/QC/OUjogaEETcz2pgi47MAMPkDKQUim/EgHipCcxUIE2
  2041. ODkPk/8n+bQ0ZpMD6iQ7kxIDasUDz4OA7vIAXpM1LahB0zMDN/iEsTIBHOQCoQI9z2OFEPgAL4Bj
  2042. AOU0WIiASEgESygAYeg4RnOENdaFy3KG7kIy9wSFcDgnOZMnQNAxmpM5m4NBkLIoRJiHDtA1eDIC
  2043. +bc6EQBBFVQs9xICAPQCDSAvQjA/iROJeBaHlEg5dMiGYBUvmriJQgBAcbUucdRW+zI1xeJErRME
  2044. qDgEsGNETmRDiUSHuEM9t0NgQSAElXiLayJbeGItG4iHIQMavwQCNnZqOWA0v4h/H2iEytgu03NP
  2045. tyM/JpMnBpRGgQgBuHiNXlI5IcCGuOICIvCNLmApkyL/Ad74jVvEKCggUujjAElmKr3kRALwR0Gw
  2046. AzxQj7VFUurYPdCEAkgkAOM1P/NjjSUSVthYkEBSObxELjSAAzmgAyFQAIuzOJEokZF4OkHQS8uY
  2047. NAFQLRmZNP7jQc2iWR4iAa7DgiOzFZ1hY1FjkCx5IxeIJ7GzPHwiNw4wLSiwAdAUP3jTkRlkRwJw
  2048. ARowVsvIju3ULOgCBBOAIRIwhf3CK1rYJ0FgAS05lTyiTSfQj5+kalqplfISTAvUOzVggq3ESWSZ
  2049. PhS0AxKUXumDj2x5RFNkIX8ES4QkACBAQnoCOVSZl0TyknmCA4DzPvFTariTjnoEa6RET7mSR0hz
  2050. Vyt3/1d74ip6GZkzoiAuhCczgFN2GS7uIgQ6AAExlI631T2I1IkMiCda2UyqxidNxIq/pCf9FAEb
  2051. FV998gO+Qn22eZu4mZu6mSDj0QCG2Cc/xlVbhJZGuCpycy8Z0AOZWU99mDQf2E8JkCkWQGRCAAEl
  2052. 0FU5ZZqp1kECkFxXQ19MFZ7iOZ7kWZ7meZ7xAQlqNQT5hVM7MASaEQIWkGQ/MAI31VshMAI6YDXu
  2053. dEzuUkxrmT4I1IxDgAMvgJGRFEoKKkrONADQ9AMTcJ8gwDQvMEdEAFMDoAGnIwQvNkcO2melhGdE
  2054. 8He+V6ImeqIoSgwTQGRB1mcu+qIwikB7koHYKVfoZP8BLoBIQICWm+SfrFSW1LREF4ACLKonM5CO
  2055. 19lRvnVOYDWP7xkuq7Zj0EReHUpKe5IDjSB7q4d6rad6l0d7iqGlX8qlseellgemgyGmZ0qmtWem
  2056. kIemjjAC48Qn5CVAhqlem7U47ehWQMOTAjA9O5Ck+3VTzbgDzVQqQOBT2vRqVqongAd3nCB32EB3
  2057. iZd2ghd3hKd423F4bVepj3qpkZqplmp4fYd4JEoIgUeqk2BidwprW6lq9IQ3qZgDqeZM3oknJkNC
  2058. PqikXBWcHdUyMSabPbVnjpoJUidzPEdzVtdyWLcJx8p0yep0Rwd1kfCsjdB0Pnd11AoJ1soI2Lqs
  2059. CgD/dJzQrYvwrSwXrs2qCeQ6CFXaqqSklbEqq6g4r/Rar/ZKr25lmuU1Sj+Aisp0mDO6LxVwOkDQ
  2060. rqYkAPIiYKa0AXAVpTIma4pwcNaQcPJWDjSHb/GmFhL7ARSrsRYLb/b2sfSWsWGxsf1WK4nqrirr
  2061. TDcpm3RqsOllTdQDsys7SnwyddGGbedmG+QWbjvrGj2rs8pWbOXWbUObs+Z2tNw2bZ+gAbzWARwQ
  2062. ArjmtKUAtVJ7a1SrAFY7tU8btVxbtV6LtV17tbaWtVsrtmBLtrj3AZ/2Ab3Bto3mtrYBt8Ygt65B
  2063. t8Jgt/bWtm/Lt3Prt3cLuLV2DYN0CipHCi2AAiG7/3Isd7gKkLiLW7im4LiQq28g17g9h7iKa7mM
  2064. a7iZ+7ib62+X67k0p7mRu6yUG7oCN7qT+7mVO7g+wQPFIG2/pgCqewlRIbuNQAq062u2uwm5O7u9
  2065. +7uaELy7W7THRryZYLyM1rvgcLuWwLyLwLvDC72VIL2KQL20q7yYgL3KgLy1a72g8AIzAAP8plyN
  2066. sAGfFq4kW63le75E4Ajq+2ke0L7c+r4Ah76MML+NVr/qir8Ep7+LwL/G4L/GCsAIJ8CKQMDCYMCY
  2067. QL7mm7/xm77r68CXAMHwK78VbL+PgMESrMH0y8GcS7hUd7HX0AJ3mw26pnIhkcLYsMI918KLS8Is
  2068. fP/CLkzDMWzDMzxxJVwOKLzD/dTD2fDDI8zDNawSlAAY16EUEXYoYqEdTGwQLeDEy5UdUewPUxwD
  2069. T2zFUMFgVIwISmwdV2wPWbzF2DHG7FDGVXzGXdzEWrzGS9zGUvzFdLF4g9AYUOwJiRIDPeADuAoE
  2070. OMAIeMzFnbDHffzHgbwIg8zGhfw2h1wygCzIk5HHjczHfgzJiawIixzHlfzIQxDJijzJhMwJhnzJ
  2071. n5zJibDJYqzHjmzKoKzJoszIpNzKiCzJzjUI0IIWcOEWWAEBEwABVuEauZwXu4wWDeDLwPwAwrzL
  2072. xZwXx/zLwWwaw4x5ceHMyBzNlTHNzdzL0KzM0sz/zNXMzcm8zLoczs88zt9czoFhzd1MzsT8GFJD
  2073. KVbReJ7xABDwGSGwD5URz6gSKqECzPfcOfoMGfzceP5czwGdz5UlKQZNzwCNzwOtGAU9z/9szxC9
  2074. 0PJ80A8t0Bjdzw5t0RztGhOt0SCt0CLN0N58COSrAzkwA8qicDPA0i4twpWx0i390rdm0zMN0zKN
  2075. 07am0z5da0BN05Ax1AqHnkid1Eq91Ezd1E791FAd1VI91VRd1VZ91Vh9nru51Vzd1V791WAd1mI9
  2076. 1mRd1mZ91sonmWq91mzd1m791nAd13I913Rd13Z913id13q913zd137914Ad2II92IRd2IZ92Iid
  2077. /9iKvdiM3diO/diQHdluLQEA0AMmc9mYbSoAwBmS3dlSki2yKQLLwy/iWCkPkM/LaSpO6Nms/SMQ
  2078. dDki44ucY2dzGgMigH88YyGMkpSt3dseAkD2JAT5KVUmgInfeNzIrUtE0y+NBwKMItzE3S4NIJu1
  2079. 5NvWXSFE1gPj4qdJ49zbtN08Qyl/IwFKdt297TVD0JR3GCmgAYzOkiv7AgQFqInj1Zz69yyj8YpY
  2080. VTHkyCcTaN6KDS7CzY3lEgEgcC6s8jaIsuAxUC9KIwI4QDgvYAJj6C/mMi05EAPc2BnSAlDSTUI1
  2081. COCG/ZJBkDzP0lZA8AMmbl+KWDunAjj/okg84/+GOwnjfwSZIi7YeaKBvhIBtGKfxvgxGPQAEBQE
  2082. j9OCst2L1xMygFgy/OIs990u54gnOX7XICBVEJNMURPb690RE44uQ7ADB6o2672BMjg6z+N/I9Ax
  2083. S44rXm4CYK4DPTACnyEyEABBPVDlcD2HTcMuh3SvgD6vJGQC50QwPEkysO2GDn4vHygEcyMAFpA0
  2084. EYAuPKDnb83nRAACGKQySR4ssk2GIbADO6PkqxOGVBgxL7CEndGdMaADqzQAEviiy5kC8Po6li7X
  2085. baVE713mnh4puEJBQaADaK7kAmBGByjk/T1eQxBKQtkulckniAMEaCSRRHbrcl05Z6M0K+4vIMD/
  2086. A1azPBS+7f7yAGUDBD/YLj36owEKoKyUAXNKSbgTBGiURngWldbO1thO4NzdLKUjAri65u7y7ORE
  2087. RA4wAz3gsvx4j630p3liOzWwKtN4O6XyA/cemUXqNFyeh70+VsDdTritNjSONwB6NFupjPMRXz0w
  2088. ixYZBPFjPz8wPBXfkvE1OppzhRaQKGBeYyPALEpu4IliNUAQACKgA8S573o0pyFkST0gojOQnzFf
  2089. kGHU7HrUMbqEJzmQ7rjlK7rjQ0bENHNagERgR6HZiqwoMSfQNNkzXDf5jGwvkE8PhyAgj/UyLBOq
  2090. i/mqZISJNHfOKLR5NFaTOkYfAP6TAxgZLvM+/yITcCiahCsxIFsh/vbk57IMFJGROJFsr6ElE5SA
  2091. 4wAoUIsjv5hSz5PTA5KQAkK3AyKE8+K+DikUVUGQL35hpOttiVYpEJjyg0O3Y5E+uvv5uJpDFABB
  2092. YEFjz5rqXkwl3z3U8yH8yS4S4BcM0Bk5iid4+frfx5eQkgE8kJk1sDo3VAM6hCc6yfVjue7kP/zI
  2093. NASrRPwl1fvrJAAB8JYZwqIa/jypjTrTT/3hZ4iB84FmAwhCRIMbGilENRoaREIFAo+QkZKTlJKO
  2094. BQMCjgIDmZWfoAJDRD+QQIM7AKqqgoMtCwsSAi9CQbang0QWEqu9vr/AwcLDxMXGx8jJysvMzf/O
  2095. z9DR0tPU1dIWuKQBlBmtud+KNUQpikQ8oeiTEDEzDgOYBfDx7+n1Ag7fRDirEz+5r7BaxIjx4MGL
  2096. b0JCWFvIsKHDhxAjSpxIseKzUblQOODEkaMnSESGhCOCQgMKfRszeVLZkeVKj490DALyLp7Nmzhv
  2097. ZiCSYyNMmC8xxmD1DWCCBxEkgACRa8gQEBajSp1KtarVq1glxsiXAwI6fIkM/dBQQ4c9SjnTql1b
  2098. 4CCpj6EG5CPyARYCCRIezB2Rta/fv4ADCx787MWOuShAHayBYgOKIClenBWwkyTby2kHOB4kJMOj
  2099. EIJ0wH1U2dWCDyYiPHCRb4gJwrBjy55Nu3b/Lwe4c+vezXs307mDTvj8OEBQjwBbU7AE+igTvnxB
  2100. MLPVEAQjkRDDf6rMYJ1uAgESIvzOFeNe7/Po06tfz769+/fw48ufT7++/fv48+vfz79/exHf9BDC
  2101. gCGAMMFGCEaynAAQ4FCDV5AsKMogOkAoAHAYZkhED+4o2BFp39SVQAQ95LODBawBxwMI/rXo4osw
  2102. xijjjDTWaOON7fEA3AgE9mjChl+hkEMlpwxBiVsaYriDT5+URtcCCUjgUxCogNBjikRkUABwP+gG
  2103. hBBCDNEOjmSWaeaZaKapJpkMtOnmm3DCKVOSFvRY4IAm+LPDh3w2l85oSGLIYZ98QnASET7U/xWL
  2104. ABb4M0gOzt05IAhbZVnATjrMc+gPKGRQkzjfuBDnqKSWauqpqKaq6qqsturqq7DGKuustNZq6624
  2105. 5lpqiUTsYGWB/vxgAQg5fJNDnZL2CEIrOODWknbQLucSJBlUeygRQQCh7bbcBiGCnyulVZmvvxZY
  2106. qZZvSbcWAY4OMoKu8MYr77z01mvvvfjm2yoF/Pbr77+VEuGCnQPiQMQLv4JgMCM8EqysCRglNtk9
  2107. GfzAg3U8ZPCCT+qquwEQGA1RAcEponATCtZpkhbKuWiJUy4m/CvzzPy+MIMOOcwwwws09+zzz0AH
  2108. bTPOOvMc9NFIJ+3v0DnvrPTTUPfMdNFRV/9t9dROW6210lgbvfXMJMgQQndJzvXCQAOV6zDBKFr3
  2109. gmefJBiKAz/s0APckDgAQQ6glq1DDMiuPQIjG2ByrRAGpHUhZy6rlQsOSLsQXgSqIYUUBA9AAIEE
  2110. Ibjw9ef8Sk555apFgLnmnHsO+teiU15Q6adv3vnqrE9O+uWZy6467Va3frvpuafOu9a+v4476rN/
  2111. PUoNjXcsHYHlJgz9pEuZEDC2PDApbbTPbr9cgs5+Zqfak/6YTyNqHRZSx9c+6nNebTbwQPzxNwDB
  2112. BJg/MHzV8DMgP/3+sx/+CrK/qPXvf/6r3/3yV0CoHXB+CQzgAgnYQKU9EIANECADK5i0C0b/MIMT
  2113. 1J/VIFa2QTgPMwPIAM5y0L4SfmMIKHiBhSYWtzkhjHzJmtQMArQWUJlsLSnMxg/nsbBvzMxNBUHV
  2114. 8GJwth74YBBDAALkfoZECJpqiU18YkikCLQqKpF3TIyBE6HIRSq2KYmnwqIYtRjFKfrMi2kEYxbJ
  2115. 6MaewfGKUHvhCffIR8zsoBZUylCn5IaOveWiBzhcWwV0lIscqEUAtbhMNoQwRLbkY2ZWJNX+PsDJ
  2116. Tnqyky2YQQx8lslRbfKTqPxAKEfZs1LG6ZSp9OQqSRlH3sXyk7NsZS1pd0tZipKWeKxaD1TWx2IW
  2117. AAXITCYycxGEHjizBzWIpjRrgkJHLNNE/ziAkHPalQMrSW9S4JzU9Qp3wgH0jSd8NCIHgYbKBSgA
  2118. FqfB5TqR1s53wgKVLZjn0eoJT3zqM2j8vKc8//mzgMZTlgT11zCdJ4DNvJCaxoyoTQbwgx9kgwgb
  2119. eEGnOJETc1qUFMoKp6TKlYvO7LFde8pJSVB6GXVCzWYwQCUMBnG0DSjgpjjNqU494DWtwVSmNA2a
  2120. TXVKVJzy9HM//eRMiVDTojr1qF9LqieX2lSnEhWqW5NqJ6kqVKtetadXm0FMlRrUf/UAomshp0Sl
  2121. owEhcOutbzVpOavlJLcCoQZpCUEMgpAQgv2mBmjFjCBqkLiTISQDGtjjJenZS1ny4GgeUP/AASZL
  2122. 2ckqAAWga6xjISvZylL2spnVLCdb8NigRdazn8Xs50Q72tIC7bSoPQBoV8ta0nI2trJV7ddYq0rX
  2123. UkClyGxeMekhJL4Nom472AEKArtWtdQguTvQQXJ7UEm2DAAHc2oNMTHDHbw215IuLSgn4ZnTfn4g
  2124. si3QbUJl1kny4tS86FXvev3VXliUV6Dxne/M6uvO9+JXAenVL3vHa1//xjO/AqYvgft7U/gCWLet
  2125. AcJ3J0zhCm8pIxYu5mIB6tWcfiDB++0wTj8M4n99QMQ3JXGJ+3ViFKt4xRRosYhfvGIZd5jGncqw
  2126. jtWSgbJ4g5LKDHJ1m5uBQJKEuTt23Ib/j6YB2SqgAxwIAYyB1uSbQlnKU/ZZlZ8c5Sxr2clX9nLP
  2127. thxmMc+MzF2mWZLXzGZjVmbIbX5ZeM1M5zrb+c54zrOe98znPvv5z4AO9NdEkNPPKsADuxMzoXFq
  2128. aETXedE3bXSivQzpzjrZ0XSutKQfXWjLHnrSWda0pzFtZlFfGtR4dqeTGe1k2apAzKrWqaddDWvJ
  2129. yrrVCni1l2Pd6UjnutarjjSudZ1lXrPa18SesrGFjWxg37rZeRYBgzvsARZMWdooPrS1YYxtFFf7
  2130. 2tP26re5HW6rjnvF3RbxuUucbmpvG93lfuq77XzedxK1wIcGcMxqHNly4xu9+y5xvf3N/2CAw3jg
  2131. 9y64vg/e74QbdeH8trdO/w1xgTd84gpvQcBBjHCMP1zjeP4kvlMZ4Bp7cuT4lK+ARc5gkqtcvywf
  2132. ccoPfvKWz9zk9ZU5Ll8+35in+OYCr7nOZcnzLKeAtx+4QdI0wOgni2B1R+et0pHGdF934Omgizpr
  2133. p87kpl8d6kjnetCqbuuvZz3sS/c61j+nddGKncpqB7vU0271tX+t7Zp9+8/ILluzrzMGW994z4Tt
  2134. WV8XXWmAd7vgaUb4yhr+c4nP++Jn1nhD5xbygQ9a5Wc9261FvrE3mLzMNo/rwyft870MveYt7Xhb
  2135. mx5pqL+l6oFG+sd/LfaxnP3Pau/6df+OoAa9fOLR4l3UeVvt98FnatCIT1TjVw35txT+8rPt/KhB
  2136. P5bSBxrzdVp9qF0/ldn/2fZz2v2nfR+V4ffZ+HFafqWd/5Pp79n6b9r+pL3fk/Gn2fwVUP/VzeBL
  2137. PqBFRMBKq2dg+EZ+/geAAkiAtHdf7sV9CSgEAUgeSINxD4iAoPN/EriAFeiAB8h+ETiBg8CAu+eB
  2138. 8dZ/SaOBIjiAHWiAJxiCHHg0FviB9AeDFCiDJlh8ebYAHnBQ8PSDp9GD+QRjPOiDQHhPQqhsPchf
  2139. QHheCzCEK1aETPiDTgiFJSaFC9aESUiES5iFVLiFUdiFinKEVaiERkiGYGhnHtBOAvX/SSioT2vI
  2140. cgflSW84T3FYc3PYSXW4TnfIX6m0hxzUhwv2h1MmiGNIiDBmiOblhoXIhnnISYD4L6QiQrxjiLkH
  2141. Vkc0KpRIO5aYSjeAiTIzifvTiaj0iV2kiaO4daAoiag4PKT4SaZoRnGyiavzip4Ui2/UipWoiqc4
  2142. i6nodqvoL23yLxGQKhbAOy/QWDBgAyRIjMaIjMrIjD5TjKhyjLSTjL20jM3oL9R4Kta4Oth4S9o4
  2143. jc94jdG4jf3SjabyjaATjrE0jj2jjqXCjkh1juRYjdCYjdIYj28ijKPSAKMSAbRjAi7wAisAAzDQ
  2144. Agh5Az4QBDqAav1CKgAZJwK5OgRp/5AIqZAwwJAOCZH8IpEBOZAFeZAJuZAN+ZC5GCcTCScVCToX
  2145. SZIayZEoaUf/GJIWOZIZaZIdmZJwspJv0pKf85I5uZEn6ZEUAJIUKZIYWZJEuZM0qZI26ZI4yZQy
  2146. aZSvxC8T4D/545MZ5CYAWUAxgAM7EE07IHr+kpX2UxBcuZJfuT9hOZbPZZb9gpZb+SZdST9gKZZk
  2147. KZdYqZVqaZdsyQB5CZdlCTR0+ZdeGZiDuZeG6ZcPsJZeKZhuqZdx2Zhp+ZiAGZmLWZk/c5iYmZia
  2148. OZmEyZcU4JkN0C+YqZZ3WUVqOWWp+ZireUYF8ZiuCZCq6ZMMMJu0CWOvmUG4qZunyf+btgmbvzmb
  2149. wblivRmbuWmctbmcvgknwNmctwmdzCmcznmcIBCbXSk/EOCbqjFl2QmZ3OmdtJhg4ZmZ45lB3wlj
  2150. 5wma6dkA67li7Vk//pM55Ame2gmQ7xmfJTafAVSf3ame5Slg/rmd9img+OmTZ2k8qqmbpgMBpElQ
  2151. E8CgsOmgmhOh/zShltOgs/mgGKpPGlo5FdqhF5plIWqc8kOiEGqiFJpBFrqiU3aiHPo6JRqjLZqi
  2152. NAqjMCaj/2ICuxABExAeDxAe97MUwShgPhoeQaoaRDoBRipmSQqkQtqkT+plUbqkQ2o6TgoCR6pf
  2153. VzqlWlqlWfalTBqmXAqlP4qlVHr/plaapmBapGw6pmk6My4wMBYQpBBgJS9glCVWpyFwpxKQpyGw
  2154. p3bmp4AqqIRaZ4aKp3rKpyC2qIHaqIVqp4w6qI6aYJCKqJcqYJkqqYo6MIIWqqI6qqRaqqZ6qqia
  2155. qqq6qqzaqmKmL7Aaq7I6q7Raq7Z6q7iaq7q6q7zaq776q8AarMI6rMRarMZ6rMiarMq6rMw6q2vy
  2156. rNAardI6rdRardZ6rdiardq6rdzard76reAaruI6ruRaruZ6ruiaruq6ruzaru4KrrYRr/I6r/Ra
  2157. r/Z6r/iar/q6r/zar/76rwAbsAI7sARbsAZ7sAibsAq7sAzbsA77sBAbsRI7sRRb/7EWe7EYm7Ea
  2158. u7Ec27Ee+7EgG7IiO7IkW7Ime7Iom7Iqu7Is27Iu+7IwG7MyO7M0W7M2e7M4m7M6u7M827M++7NA
  2159. G7RCO7REW7RGe7RIm7RKu7RM27RO+7RQG7VSO7VUW7VWe7VYm7Vau7Vc27Ve+7VgG7ZiO7ZkW7Zm
  2160. e7Zom7Zqu7Zs27Zu+7ZwG7dyO7d0W7d2e7d4m7d6u7cWMagulAt3wgt8O7gxy6VGhgrskLiJK0qi
  2161. xCv5gANDQbiSe7KOezAjMAJJEQHpEB4hMAIAMheRO7miy7EGY1ESYAH1AAINQyAZ4ACyAAm70AO2
  2162. IASvoQoSEBJOQQQgILij27sGG/8CJmACI3A9DzAZD3Az2TUIezqkkeA6XDoCOoAz7UIKvlu9+hoC
  2163. O5AD2ltCknEPEYADPcAD4ju+4wtdwxQeXGoC3uCQ0JUPFuATSmFkOmC99Duv1uEUuXssS7EUeNG/
  2164. 9/C/4NG/AiwLILBDGBEm5XG7c8G//ktI3hC69RvBhDEBufACmisJ4GMe/4sgGewshAQJhwtFPSAC
  2165. XiE3GfwIEfANfCHBLAwYIzAKQyACr0tDkyEBjDSCL1C8nxAeOYBdJvAI1zO/LTzEWDEnIUDDoBAB
  2166. OgAEkiABjjskF1wJLhAE0zsDUYwljUTEWlwRE+AWQ4C66CALGeBXUTwJEWA+zAT/CkrxG0MgBN27
  2167. w4GivFs8xw1hPkEQAjr8CQ8wvHF8PiPQxA3wuUQgRSFQxs1rAWI0CDjAvM1LKQOBA5FgEN8AwXRc
  2168. yYUBw4X8CCccAeLbLi8gAiaAFKMzOq+7EZzjDaEsCyf8ADjASDwgAhYQAXLzADrgygQpJQAsAGhM
  2169. yZbcy8gwOLmgyYRkAUXExCAAHpqswXIjJRYgFKa8weAjAQZsJKX8vxIQMEKAzBsMwK6rwr78zciw
  2170. Q4OQNz4RAQETBK4rzNvswQIgy+rDAzqgwx18wqrMze1cKUAwTCa8zQCcCzMAzgA9DBbwOJPQAINw
  2171. x3kcCsdbLOYAOEgsCQ9QKXds/8jpoD76ENAY3Qsh0DKTwCNJsbm0kAsOQNFIfM25sLsT4xMMvSEZ
  2172. 3csGskNC8L654AITQzmdC8xEIMMPPcOQYNJD8MdJHAEh4CRUzMSQ8ACO0gMtTcSGO4I6002PkDM5
  2173. cMRhTDkzsNI4IEoNwNMTE9E5MMMRzQgiQNLtHAE38w1aTdYMMApKvdQsbGQWTMOcAwQ80AqdIQIg
  2174. cMEcvM7zvM3mLDD/+9fXodcAHAEv4Lg/MAIjLcv2nCBIPQht7db1S8GD4BkbASBgAiZkgyFh8sbq
  2175. DD59DdrWvBWSY8pbIQI+kdr3IMgIgb+6i9L8LADqMwSSLcGUTQQzwM8JMsC8jf8Xja3M/wsBmiva
  2176. om3YB6PXTBHXgU05wvy3POACnoEXIHDDtW3b3/DQ9rAD+XzMCr0VQ9AAZvwIxytdkO0ZzpFMzhIA
  2177. 6s0dnEEDjOEYjoEL1c3CaDzIZE1DpiwBPxBIVhwKJn0dXP0IEvACuTsEQTAAKREtlWHguRAWJVES
  2178. ZDEI883CL5wLQHDf9RAeEmACC/MDPYDhkMDGVD0JB+FWres93UMZm40Ii6ABG1AIoGIBEx7BxUzY
  2179. +7zXjm09GBEEMYDHyczOe83KIzjc3MwkD90NcwEEGgBNiqABNGDhMj7jvlvjCQIEOnDfG5Et+gC8
  2180. DczXuWzOjhIEu5DM6ozdkeD/JBYe4eQwEiHBu1IuuVQOwINjC3RO51li5F4u2niRImHC3db8G0sy
  2181. GgJwwxlxFjuRGBat5D7U5D0gCEHw5nBu4eCd59BM6ThuzXsMwzmg03LTANMbBHiTN4+wA4SOAjNk
  2182. D891XIrgD0EA4RpgUTywwpCet0VEBPFs5pRwysrrAiQtAS7QHRUyLT9xARmAC9kMLin+Es7BSEAw
  2183. FihAA3bV5CiQAkBQLbN+t8l7MGbu28eMEc0SCqwtBAjOHORuHh1C7sI+LQ6QDQ7ePilwAtPexi5w
  2184. 7XUrvuQxGaoRAqDsFkHAA6XwCfkuAiJQLRhRCnCB4sqe7Mie8JAAAd0RFidg/wjVAUUpkAI9nAMZ
  2185. QO9zi9NDAtx7LQHRe8OilMMfrecSkAMWTRIbg+cpjesTkg/RpAiFEA7nxMsa37YBo8p9HcD9CyGX
  2186. LuAxcFG4zfITQwu4YFFB4Nm4Xi24Sw4zrwjTXvEa4AA3/7Zo/N3rzPO+DdxaL9Ss/Q0SAwoOEAKM
  2187. ZCSgEMLB7PIOUC0jPsguXggb4AwTMPdRXvVXW0QJQeQCgNPKizZ+XzY4YOqhgAK1fjAb8wlGhgPb
  2188. kMsP7QCHAuogweKFUC1Uvwwp/wJ2f7WVmxB4oQHV0lZ/+w064CwH/yGF/w3/LuyUcQJvs/Cu/xPI
  2189. DglFZBYc0eAmkfHHkA3c/f8AFsArtJ35VbviUYRMTV78xo8CNWAdDxL7wq4jQ9AJuEFNCV/60//6
  2190. 6f4T2UD7mWD7JWEMrdAOBe0oqQD8USsBgTQE0tW+GRHxJfHiJvH+Mz8KjRAhfPI9sM89CI4CM9AJ
  2191. Cg8IAgOChISDAoiDh4gQQ0REOokCj0Q1GgCYmZqZQI8zD4gCEgwNDhE6lD2bq6ytrq+wsbKztLW2
  2192. t7i5uru8vb6/wMG9IUGPQ6ChyYgOGSgaGhsb0Cg/NM+OQcra29zdAsw6Dt7j5I6QyY9BGbASP54R
  2193. oaMM8w8POcbC+fr7/P3+/wADChzIKgalIeQEPbI2rdI1ItkSSvTmgMjEi6H/xIlD1InIDFhCPElg
  2194. NI8BvJEiKBEhyLKly5cwY8qcWWuEyh4OzN3cKCgkkRQNfzjTABGjUWVCekA4apTSx1Y+ibyQECFk
  2195. iBFYR4RQOUQCza9gw4odS/arTUobIYjQ+UjHDEQZKKHYgOKRJaIRmRod0COS3m2DUCz99sLpqgk9
  2196. KL0A5UCCQZUqg4AoS7my5cuYM2s6+0iZuBOQIQUATUSIBhQ1HOIdbCiZIteFJB16rWjAgAKwX7ee
  2197. Hbt1Mkc/QnXksarYoxYIRiaLUJjrBM3Qo0ufTj3YYyK4eQ+IG1qlhhMpVJfGLbu89kK0y+MusL6A
  2198. bfe+0+82v6zjDgE80m3S/9ligf8FW3VHxGTVFWjggQhSdx0RGYTyWgZRdfdMaimcQBQPDvamW3kZ
  2199. 8iYOewKwd5t7IC7iG4coClIRZDlk0g4lMPyHAALwgJAYJUKEkOCOPPboo0w4HPTCNhDsICARz6AQ
  2200. RBBzEYHhX9qg4AgEI7LXnpVQJrOiJy66c5yMHeWQg5eP6PjjmWimqaYv+anUoGcafeNAAJ0MMSER
  2201. c1GTpTJtChGilYAGGqgkF235QiZsfeBfAhI40EBHKhG45qSUVmopJqiohIJEiQ0VBA10EZHDnqEU
  2202. CYSgqKbKHQ4mjrOlCZAS0d8CH4RgggkZkDmEC5f26uuvPC74CGve0PDTM/9IakCDX3+l6uyz7N34
  2203. ZkIDdDcro8I+YgKw3HbrLXTCjpqiInUxhCRqQ+om37rQtptqXY84YOK6Cqmk6Ac+ANHDD2Q+MsK3
  2204. AAcsMFgudIeCOPMSUleFGphWw6bqxmdIXSi4azGg8DY4gCM5bKSbAwE+omgCAoQM2bYDp6zyygPN
  2205. ENqm6BUSpDMo7JCCexueSEiQlVzc7gDNlfbmIBns0IPGoUBISX8fPOLCC5l6cijLVFdtNQAOZK31
  2206. 1lx3zTUI3Q0xpDYB5PeDBg7wYEmr3bT5yKk+ozqAlI8IMa03SlOyAMkgRPhIDF4HLvjghBdu+OGI
  2207. J6744ow37vjjkEcu+eT/lFdu+eWKm4MDCEDoNIQQoHvmiA6FAZWQcZCBDjqDF3OHI7HcbCnyAlRJ
  2208. IIHbRODwDQggYO7778AHL/zwxBdv/PHIN65TDCCE4Ly+PUTfw32ehZJDDWxrY47YiKQmYA/QRCP+
  2209. Bhmw9XZCrhMxctCpxEoJD8nHL//89Ndv//34++7+CyE073zvOcveDGLAmlYFwBF248mRFggZ+PWG
  2210. UAJYCyVGpjWV6KB5Bfte/jbIwQ568IMgDGHgjAQZ/v3Pef3TV25gAxrAnagjQJCN7BjYHd3Ri2j2
  2211. 2lvWEGGcHTQPg5QgSmh+IMIiGvGISExi/krCxCY6kYku684L/IfC/pmA/wjUC6DEFlGnDgkgfTR8
  2212. n8e2CBn/0KhRPfwhCq/4iAwUwBFDiNUOGHCPEj7xjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQi
  2213. F8nIQlqAgTPg3Qn/Z5Ad8CRDyjCRA1AwqoQx4gXm684OOqaNeUGAEj5QFI0EYCNKjIqKP3yMG+Oi
  2214. A/fwjBI10IEOvEcJEzTyl8AMpjCHScxiGvOYyEymE0noEZ8AIYqP8GEVUdi8YjyJVMoQwQu2yc1u
  2215. hoAnW5NT1iAATUUtwAAckQuIQFZFEMiyALTEGAoyUCX2bEBXOdClPmegzH76858ADahAB0pQPDoC
  2216. CJIEAXAs0MpH9ICK0/9snk9wcElsammHuMlPKCHzubyYqjSislIGYhjRdz4iB3EbgkpVGqEYFPSl
  2217. MI2pTGdKU0RS4KY4zalOKUCCYgxhAu0kwg8qEAIL1FGo/ZvmNI2DgrFZNAQvyBtEaoATjWjtG1h1
  2218. 0CFSJQA4Mq+dBgkCe/AkIhTMJW5j7eVO18rWtrr1rXCNq1znSte62vWueM2rXvfK17769a+A9Ssx
  2219. jAHR5kHCAs4zKiVcIMmI9s8CJvAJAb1IWQ5BgJOQMesLApAItMqNbrtSo/NG0ImKFcC0dCPru8yR
  2220. jUCpNbCwja1sZ0vb2tr2trjNrW4pUAKVMJR3P+SdC0YAS56ZYJKw/N//WT53AnnFLGIDEEIQIiQE
  2221. 22TNYkBYkna3y90lsUUr7QxBwWppJSG2MVUbcBOqXktXF7igqBOQAASa9wIX7Nau7oWvfOlr3/u2
  2222. 970WiO98odpf/8o1vwHeL4ENPFcEC5i/DD4wgB+84NmSgARsZGAQTOBe9wI3oUqF6P9MMN1HaKBB
  2223. CJPYvn4AhBek+DxRXJIiNtmvMA4hCO9FLgoNYtrTKga9B3FjqtgbVxNYgCrxjcADqAKBCfDuBRFu
  2224. q5GRTJUlR6DJT44yW6ccgSRbGcsggLKWd8plLzPZyWEeM5mP3OUqnznLas5pmd18ZTSL2a8TwF0Y
  2225. aXjBpPo5vNR0QVTU/7EUthm6lIjOkANywEwBoUACyY2oTcQFL4gIOVBzq9ulh0wJHMh1AvVQcj0a
  2226. 0IB6hBoCEDBBnG8K6geI+gGkNrWrUa3qVbf61bE29ZVTvWoK3NrUuT41r20damCXWte07vWvR31s
  2227. YdearySQizTq6bPxbWCKSs12O5+mEn5ZFG8ZCLe4MyAOEWubM93+U6Aq3VpoVbotbwUBqZk471JD
  2228. gNQNUPKq5d0Aevfb3vjWd5z57W9SPODepBa4mgleknofPOAP2Pe8G/7vhyc84gOf+DwcjvB8Y3yv
  2229. rlS3Z6GFgQ+b/OT/A8EMzEfRb3fDATrYlLm1HRohOKuOQ4jbu3PXVv9YM4DZ/WairBuwap8DvYlD
  2230. L3q/jy50YCv957DWOD2cHmejRz3oJUl61Zd+daRTXa+oCw0QzGrWkQdqTD2ogfsgE4O2u32bL3sB
  2231. 7J76NvBqu4qP7LaqNA2tkRpjRAM4KiXWOgFSQGDUBd84A2YbAxzsoAY12MGz21r4Bhze5xRv+OJl
  2232. 2/jHR37ybK385bFOCqz3m/GOh7zk4Sp6xGde8aj3/Orf2nrMb9z0m49t51UPesIb3vW317xeTbBR
  2233. g5ndWYAne1PDHsYg6KCqGkr0uPBDia/6OdIgyPuPOf0DaO1LLtROq0p2ekfSlyQCgeXwC1YAAxi0
  2234. oP038IHzC7zW8j//Ef2AVT/73Q9/+euA/uT3ROY3D/j3V/rXfu8HA/E3f25lf05UgH51gPyngP4H
  2235. gDrlgE0EgX0lgQm4gP/XgAJ4f3hlMiuFJ+N2fCgIKOJWAERQgkcSBPBzHvMxHw7ATDwAYo6VcmHX
  2236. Y4ICEdASKzzIaY+wVhHARxYAWy/wAUq4hEz4ATBgAzHgVkW4R0cYWEnYhE34hFHYVlOoR1UIWFeI
  2237. hUuohVJohEgohkxIhlxohlaIhmMIhWVIhXmVDmKVgnZodkHALzVGCeJWaFu0DDfSA4j1Z/4TaZAC
  2238. BOHHHnHhLCFCJvdhMZDRVnf0cYHlAW7YhDdwZ5L4RJQIWJZ4iUuY/4lwNYmy9Ymg+AGi+FakGFum
  2239. CIqpCIJO1Il/1YqX+IqbGIt8ZTd3iFaq14u5xGgNcnzboQM4kFoONQOkpA0OcCOiImLm5j+wgiMi
  2240. t27Owkvn4DORqGW0aE60goUssGrb+B9i+I1xFo7+MY7giIXi6I3p2ITr2ITk6F89kIi7iFbSMA1k
  2241. J3ZAsI82ZzGnERo9EAQuJgCQkgMzd3fuRAkb4FnWSF6eNXhatgAe0I3c+B/nOJEtsGoSSZEWaZEf
  2242. gJEaOZFL2JHiCJJxtpEjSZK0YpJqhpJKqJIruQAZaWDz6FkZEDU9U4+eJSVBAEPwFG6BUgPctTqP
  2243. 8AONdXdKdR2b5v8uA4CTO6AqJ/gsEKlXMwAEQuADPlB9c6UAXMmVHdmVYBmPfVWVV5mVf7OVYPmV
  2244. YMmVYslXZImVWilXa6mWa9mWe/WWZkkEWxhXc2mRa8mWgIWXccmXaemXf2mXVGmVcHmWa1WT7iIA
  2245. mAUROrADlOmQOomCGRB5OqATQhGEKlgDPCADR0lNIRZjS+kuzKgD9TQ3gteC07heU0lXI1ADl5iV
  2246. crUAf5mbCoCYdzWbtUkEt6mbh+lXvumGthlXuCmcYUmctGmcwImcyrmcfVWcaHiccJWc0bmbzPmb
  2247. O9UDrykoRFEDBUAAl1mezmJWG4A6QlADP3Ca8ERNjVWI/fM2aOX/OiiFMeYTc9gYm3EVA6eohDfQ
  2248. e2vFlQdQoAZ6AASqACjgV/75nwFKmAdqoAm6oH3VoKf4oHBFoBGKoAqAoBTKVxbqigK6UxoaoRPK
  2249. oP+JiiOqUyV6oCdaoSmKoTdlniNnlSq1Z8awUjoKOkNgmefJUfdpJelVN5KRVCBQDHDjMyEhnoKC
  2250. Co6AguMnVymQogBKVxrQlQjaASIAWFNKpTdgpViqAFrKpVSKimCaoGP6V10ao2faoWK6pWpapl86
  2251. V1eKpnDqV2vqoDlFo4JCnqdlVttDVdJDjz7DF9JzqHs4BM6ggvv4AoKyczzgXiflM+XjmDSajXDl
  2252. jtgphi3woVqm/6ldyameGmWgypWiGmelqgCnqmapuqpj1qpY2Kk4hSWMpk6YmXZGoks5wEn0xKfI
  2253. JyiEylUogJOueTGP56tWgqlv9ZEKgJ1d6R9d6QEK0AIrel/M6qxeiZ3SSq2oKq3Y2qzaOq3VulvX
  2254. +pfQypXbOq66Va59Ga3i2q3Naq7hyq03ZV4qwaTImq98Gm4R4pn66izK6lYi8K266QG8aWADm53o
  2255. erD+lbAKa7Cr5rDZCbFxJrHRSbFqZrHKibEUoBL9+K/6mgEnNm4ku4s64a8gCygB+1a4yaFYyqEI
  2256. qgK9dlMtu5YFmqAyO7M1C5Y366Y522s7+7I4O7MUELQaOrQ6652mPAuzCvCzNyU0wZqyZmcbZNea
  2257. 3aEDQWqHGYA6KBC1+hoacyUCS8uhHmCBETu26Gq2FYu2ClC2RItTYvuyZKu2Gcu2bvu2FBC3JZq2
  2258. a/WdUiuMVAUpZKcB9eSnviqytvq3rrWyeNu4jvu4kBu5d6W4d7iClPssrqMBl5usUSq5nvu5oBu6
  2259. RLu5pIusGuAI7pmyjCu6rNu6rvu6fRUIADs=
  2260.  
  2261. ------=_NextPart_000_0BEC_01BDBEBB.64254D90
  2262. Content-Type: image/gif
  2263. Content-Transfer-Encoding: base64
  2264. Content-ID: <0be401bdbef6$102ba550$ed5d389d@superwonker.dns.microsoft.com>
  2265. X-Content-Source: C:\TEMP\IMG4A2.GIF
  2266.  
  2267. R0lGODlhOwItAff/AP39/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2268. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2269. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2270. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2271. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2272. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2273. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2274. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2275. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2276. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2277. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2278. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2279. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  2280. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP39/SH5BAEBAP8ALAAAAAA7Ai0B
  2281. QAiuAP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX
  2282. MGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOK
  2283. HUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5
  2284. suXLmDNrSN7MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx
  2285. 48iTK1/OvLnz59CjS59Ovbr169izaznfzr279+/gw4sfT768+fPo06tfz769+/fw48ufT7++/fv4
  2286. 8+vfz7+///8ABijggAQWaOCBCCao4II0DDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo
  2287. 4okopqjiiiy26OKLMMYo44w01i1o44045qjjjjz26OOPQAYp5JBEFmnkkUgmqeSSTDbp5JNQRinl
  2288. lFRWaeWVWGYpqeWWXHbp5ZdghinmmGSWaeaZaKap5ppstunmm3DGKeecdNZp55145qkn55589unn
  2289. n4AGKuighBZq6KGIJqrooow26uijkEYq6aSUVmrppZhmI6rpppx26umnoIYq6qiklmrqqaimquqq
  2290. rLbq6quwxirrrLTWImrrrbjmquuuvPbq66/ABivssMQWa+yxyCar7LLMNuvss9AfRivttNRWa+21
  2291. 2Gar7bbcduvtt+CGK+645JZr7rnoph6r7rrstuvuu/DGK++89NZr77345qvvvvz26++/AAccLPDA
  2292. BBds8MEIJ6zwwgw37PDDEEcs8cQUV2zxxRsYZ6zxxhx37PHHIIcs8sgkl2zyySinrPLKLLca7PLL
  2293. MMcs88w012zzzTjnrPPOPPfs889ABy0M9NBEF2300UgnLW1AADs=
  2294.  
  2295. ------=_NextPart_000_0BEC_01BDBEBB.64254D90
  2296. Content-Type: audio/midi
  2297. Content-Transfer-Encoding: 7bit
  2298. Content-ID: <057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com>
  2299. X-Content-Source: D:\soundDump\j0074212.mid
  2300. X-Global-Moniker: :HOMESNMM\MAIN\J0074212.MID
  2301.  
  2302.  
  2303. ------=_NextPart_000_0BEC_01BDBEBB.64254D90
  2304. Content-Type: application/x-font
  2305. Content-Transfer-Encoding: 7bit
  2306. Content-ID: <0bea01bdbef6$1071d610$ed5d389d@superwonker.dns.microsoft.com>
  2307. X-Content-Source: Comic Sans MS.eot
  2308.  
  2309.  
  2310. ------=_NextPart_000_0BEC_01BDBEBB.64254D90--
  2311.